Databricks - カスタムSQLの実行アクション

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

このアクションでは、SQL文字列をDatabricksインスタンスに送信して実行できます。 これは、INSERTUPDATESELECTDELETEなどのData Manipulation Language(DML)ステートメント、およびCREATEALTERDROPなどのData Definition Language(DDL)コマンドの実行に使用できます。

カスタムSQLの実行アクションカスタムSQLの実行アクション

このアクションは、簡単に設定できるよう最適化されていません。 多数の列を含むSELECTステートメントの場合は、代わりにカスタムSQLを使用した行の選択アクションを使用してください。


入力

このアクションを使用するには、次の入力フィールドを設定します。

  • SQL

  • 有意義な列エイリアスを含めて、SQLクエリを指定します。 クエリは出力データツリーの生成に使用されます。 このため、指定した時点でSQLが実行されます。 バインド変数(例:id = :id)とパラメーター項目を使用して、入力をパラメーター化します。 バインド変数を使用する場合は、スキーマを手動で定義する必要があります。

    避けるべき句

    SQLでは、LIMITTOP(N)のような制限句の使用を避けてください。

  • パラメーター

  • このフィールドはWHERE条件と組み合わせて使用します。 まず、WHERE入力で名前付きバインド変数を宣言します。 次に、この入力フィールドを使用して、これらの変数に値を割り当てます。 パラメーター値には、静的な値またはデータピルを使用できます。 バインド変数に対してデータベースが期待するものに最も近い対応データ型を選択します。

  • 出力フィールド

  • このフィールドを使用して、クエリで返される列を定義します。 Workatoはこれを動的に行いますが、エラーが発生した場合はこのフィールドを使用して任意の列を上書きできます。 ここで定義するフィールド名は、クエリ内の列名と完全に一致している必要があります。


出力

このアクションは次の出力を生成します。

  • rows

  • オブジェクトのJSON配列。 各オブジェクトは、選択されたデータの1行を表します。

  • rows_affected

  • 追加/更新された行数。

  • rows_count

  • 返された行数。

Databricksにおける数値精度の動作

Databricksは、FLOAT値を4バイトのIEEE 754単精度浮動小数点形式で保存します。 この形式は概数値を表し、約7桁の有効数字精度をサポートします。

7桁を超える有効数字を持つ値を挿入すると、Databricksは表現可能な最も近い浮動小数点値を保存します。 これにより、保存された値が挿入された値とわずかに異なる場合があります。

例:

sql
INSERT INTO table_name (float_col)
VALUES (11.123456789);

Databricksは近似値を保存します。これは、FLOATが入力の完全な10進精度を表現できないためです。

正確な10進値を保存するには、次のような固定精度型を使用します:

sql
DECIMAL(18,9)

近似精度が許容される場合にのみDOUBLEを使用してください。

Last updated: