このトピックでは、SQL 分析文を作成するプロセスについて概要を説明します。
前提条件
ビジネス要件に従って、SQL DataAnalysis ワークスペースで SQL 分析文を作成する前に、SQL 分析タスクを作成する必要があります。
背景情報
SQL 分析では、次の種類のデータストレージテーブルをクエリ対象として使用できます。SQL 分析文を使用すると、これらのテーブル内のデータを処理できます。
プラットフォームシステムテーブル:詳細は、「プラットフォームシステムテーブルの表示」を参照してください。
プロダクトストレージテーブル:クエリ対象として使用するには、まずデータソースをバックアップします。バックアップがない場合、クエリは過去 30 日間のデータに制限されます。
カスタムストレージテーブル:これらのテーブルをクエリ対象として使用するには、事前にデータ解析のターゲットノードとして、または他の SQL 分析タスクの出力ストレージテーブルとして指定する必要があります。
注意事項
出力フィールド名は、英字またはドル記号($)で始まり、英字、数字、ドル記号($)、およびアンダースコア(_)のみを含めることができます。長さは 60 文字以下にする必要があります。
これらの基準を満たさない元のフィールドには、エイリアスを定義します。
システムフィールドと関数を出力フィールド名として使用することはできません。
種類
サポートされていないフィールド
システムフィールド名
id、gmt_create、gmt_modified、creator、modifier、is_deleted、append_column_name、append_column_value、append_column_concat、scope_id、__closure_context__などのフィールドが含まれます。システム関数
COUNT、DATE_FORMAT、AVG、MAX、MIN、SUMなどの関数が使用可能です。テーブル内のシステム予約フィールドをクエリする場合は、出力フィールドに新しいエイリアスを使用する必要があります。
たとえば、
${system.device}テーブルで gmt_create フィールド値をクエリするには、出力フィールドを gmt_create_alias として指定する必要があります。対応する SQL 文は次のとおりです。SELECT gmt_create AS gmt_create_alias FROM ${system.device}出力フィールドのデータ型がクエリ対象フィールドのデータ型と互換性がない場合は、データ型を変換する必要があります。
たとえば、デバイステーブル
${system.device}内では、gmt_create フィールドのデータ型は DATE です。DATE 型をサポートしていない出力フィールドに対応するには、BIGINT への変換が必要です。対応する SQL 文は次のとおりです。SELECT CAST(EXTRACT(EPOCH FROM gmt_create) * 1000 AS BIGINT) AS gmt_create_alias FROM ${system.device}SQL タスク内でスケジューリングタスクの現在時刻を取得するには、
current_timestamp()ではなく${bizDate}を使用します。${bizDate}は、SQL タスクのスケジューリング時点を表し、実行中に動的に置き換えられます。1699286400000 などの 13 桁のミリ秒レベルのタイムスタンプとしてフォーマットされ、スケジュールポリシーに従って SQL タスクの有効期間内に収まります。current_timestamp()は、現在の TIMESTAMP 型のタイムスタンプを提供します。
使用する理由
${bizDate}を使用する理由:現在のスケジューリング タスクでは、
${bizDate}とcurrent_timestamp()の両方を使用して、効果的にスケジュールを設定し、データを生成できます。定期タスクをバックフィルするには、過去のスケジュールタイムスタンプ
${bizDate}に従ってデータを生成する必要があります。current_timestamp()current_timestamp()を使用すると、現在の時刻に基づいてデータが生成されるため、過去の時間データのバックフィルはできません。
SQL 分析タスクでサポートされている関数の概要については、「関数の概要」をご参照ください。
手順
[分析インサイト] ページに移動し、作成した SQL 分析タスクを見つけ、右側の [操作] 列で [開発者ワークスペース] を選択します。この操作により、[SQL データサービスワークスペース] ページに移動します。
左側の [SQL データサービスワークスペース] で、クエリするデータオブジェクトを選択します。
重要SQL 分析タスクでは、データストレージテーブルを使用したクエリがサポートされています。
次の操作を実行できます。
テーブル名をダブルクリックすると、クエリ文が自動的に生成されます。
目的のテーブル名にカーソルを合わせると、次の操作を実行できます。
[コピー] をクリックし、テーブル名を SQL 文作成領域に貼り付けます。
[詳細] を選択して、テーブルのデータ構造を表示するか、最新の 20 件のエントリをプレビューします。
SQL 文編集領域で、ビジネス要件を満たす分析文を作成します。
重要SQL 分析タスクでカスタム時系列テーブルにデータを保存する場合は、各エントリにタイムスタンプフィールド ts を含める必要があります。そうしないと、データの書き込みは失敗します。失敗した場合は、SQL 分析タスクの [実行ログ] について [タスクメンテナンス] ページを参照してください。
データ分析用の SQL 分析文をすばやく生成するには、ワークスペースの上部にある [スマートアシスタント] をクリックし、[SQL テンプレート] を使用します。
データ分析のニーズに基づいて、[SQL テンプレート] タブでターゲット関数を選択できます。 [SQL アシスタント] タブでデータ分析ニーズの指示を入力し、送信
アイコンをクリックすることもできます。システムが対応する SQL 分析文を生成したら、[今すぐ使用する] または [コピー] を使用して、SQL 文を編集領域に転送します。
編集領域でクエリ対象とその他の関連パラメーターを変更して、SQL 分析文を完成させます。
オプション:SQL 分析文の構文を確認するには、編集領域の上にある [SQL の検証
] アイコンをクリックします。SQL 分析文の正確性を確認したら、編集領域の上にある [実行
] アイコンをクリックします。正常に実行されると、[実行ログ] タブと [結果] タブで、SQL 分析文の実行ログとさまざまなチャート形式の結果を確認できます。
[データのエクスポート] をクリックして、結果を CSV ファイルとしてダウンロードすることもできます。
エラーが発生した場合は、[実行ログ] タブを参照して、エラーメッセージに基づいて問題を特定して解決し、文を再実行します。