すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:ステップ 2:SQL 分析文を作成する

最終更新日:Mar 27, 2025

このトピックでは、SQL 分析文を作成するプロセスについて概要を説明します。

前提条件

ビジネス要件に従って、SQL DataAnalysis ワークスペースで SQL 分析文を作成する前に、SQL 分析タスクを作成する必要があります。

背景情報

SQL 分析では、次の種類のデータストレージテーブルをクエリ対象として使用できます。SQL 分析文を使用すると、これらのテーブル内のデータを処理できます。

  • プラットフォームシステムテーブル:詳細は、「プラットフォームシステムテーブルの表示」を参照してください。

  • プロダクトストレージテーブル:クエリ対象として使用するには、まずデータソースをバックアップします。バックアップがない場合、クエリは過去 30 日間のデータに制限されます。

  • カスタムストレージテーブル:これらのテーブルをクエリ対象として使用するには、事前にデータ解析のターゲットノードとして、または他の SQL 分析タスクの出力ストレージテーブルとして指定する必要があります。

注意事項

  • 出力フィールド名は、英字またはドル記号($)で始まり、英字、数字、ドル記号($)、およびアンダースコア(_)のみを含めることができます。長さは 60 文字以下にする必要があります。

    これらの基準を満たさない元のフィールドには、エイリアスを定義します。

  • システムフィールドと関数を出力フィールド名として使用することはできません。

    種類

    サポートされていないフィールド

    システムフィールド名

    idgmt_creategmt_modifiedcreatormodifieris_deletedappend_column_nameappend_column_valueappend_column_concatscope_id__closure_context__ などのフィールドが含まれます。

    システム関数

    COUNTDATE_FORMATAVGMAXMINSUM などの関数が使用可能です。

  • テーブル内のシステム予約フィールドをクエリする場合は、出力フィールドに新しいエイリアスを使用する必要があります。

    たとえば、${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 分析タスクでサポートされている関数の概要については、「関数の概要」をご参照ください。

手順

  1. [分析インサイト] ページに移動し、作成した SQL 分析タスクを見つけ、右側の [操作] 列で [開発者ワークスペース] を選択します。この操作により、[SQL データサービスワークスペース] ページに移動します。

  2. 左側の [SQL データサービスワークスペース] で、クエリするデータオブジェクトを選択します。

    重要

    SQL 分析タスクでは、データストレージテーブルを使用したクエリがサポートされています。

    次の操作を実行できます。

    • テーブル名をダブルクリックすると、クエリ文が自動的に生成されます。

    • 目的のテーブル名にカーソルを合わせると、次の操作を実行できます。

      • [コピー] をクリックし、テーブル名を SQL 文作成領域に貼り付けます。

      • [詳細] を選択して、テーブルのデータ構造を表示するか、最新の 20 件のエントリをプレビューします。

  3. SQL 文編集領域で、ビジネス要件を満たす分析文を作成します。

    重要

    SQL 分析タスクでカスタム時系列テーブルにデータを保存する場合は、各エントリにタイムスタンプフィールド ts を含める必要があります。そうしないと、データの書き込みは失敗します。失敗した場合は、SQL 分析タスクの [実行ログ] について [タスクメンテナンス] ページを参照してください。

    データ分析用の SQL 分析文をすばやく生成するには、ワークスペースの上部にある [スマートアシスタント] をクリックし、[SQL テンプレート] を使用します。

    1. データ分析のニーズに基づいて、[SQL テンプレート] タブでターゲット関数を選択できます。 [SQL アシスタント] タブでデータ分析ニーズの指示を入力し、送信 image.png アイコンをクリックすることもできます。

    2. システムが対応する SQL 分析文を生成したら、[今すぐ使用する] または [コピー] を使用して、SQL 文を編集領域に転送します。

    3. 編集領域でクエリ対象とその他の関連パラメーターを変更して、SQL 分析文を完成させます。

  4. オプション:SQL 分析文の構文を確認するには、編集領域の上にある [SQL の検証image.png] アイコンをクリックします。

  5. SQL 分析文の正確性を確認したら、編集領域の上にある [実行image.png] アイコンをクリックします。

    • 正常に実行されると、[実行ログ] タブと [結果] タブで、SQL 分析文の実行ログとさまざまなチャート形式の結果を確認できます。

      [データのエクスポート] をクリックして、結果を CSV ファイルとしてダウンロードすることもできます。

    • エラーが発生した場合は、[実行ログ] タブを参照して、エラーメッセージに基づいて問題を特定して解決し、文を再実行します。