SQLコレクション by Workato
SQLコレクション by Workatoは、テーブルデータの操作に必要なツールを提供する堅牢なネイティブアプリケーションです。 SQL Collectionを使用すると、データベース、Webサービスなど、複数のシステム間で関連データを同期できます。
SQLコレクション by Workato
機能の提供状況
SQLコレクション by Workatoは特定の料金プランで利用できます。 詳細については、ご利用の料金プランおよび契約を参照してください。
SQL Collectionを使用する理由
SQL Collectionでは、複数のソースからのデータを使用してSQLステートメントを実行できます。 リスト入力またはCSVファイルから一時テーブルを作成できます。 その後、さまざまなSQLクエリを実行して、ユースケースに必要な出力を得ることができます。
SQL Collectionテーブル(SQL Collectionリストとも呼ばれます)は一時的なものです。 これは、ジョブの実行中のみ存在し、複数のジョブ間では保持されないことを意味します。 データ処理が完了したら、データをターゲットシステムに直接ロードします。
SQL Collectionの制限
SQL Collectionには次の制限があります。
| 説明 | 制限 |
|---|---|
| 推奨最大レコード数 | 50,000 |
変換
SQL CollectionはSQL lite上に構築されており、任意のデータベースと同様に機能します。 リストを作成し、標準SQL構文を使用してクエリを実行できます。 WHERE、GROUP BY、JOINなどの一般的なSQLキーワードを使用して、テーブルのデータを計画した形式に操作します。
その後、SQL Collection出力を使用してターゲットシステムに直接ロードするか、データをCSVファイルとしてエクスポートします。
SQL Collectionで大規模なデータセットを処理する
SQL Collectionは大規模なデータセットをサポートしていますが、パフォーマンスは行サイズや列数など、データの構造によって異なります。 信頼性の高いパフォーマンスを確保するために、SQL Collectionリストあたり50,000レコードを超えないデータセットを使用することをお勧めします。
行が小さく列数が少ない場合、SQL Collectionは100,000~200,000レコードなどのより大きなデータセットを処理できます。 推奨制限を超えるデータセットは、パフォーマンスや安定性に影響を与える可能性があります。 大規模なデータセットを効率的に処理するには、テーブルを小さなチャンクに分割するか、並列レシピを使用します。
SQL CollectionはWorkatoとシームレスに連携するため、サードパーティツールを使わずにデータを直接ロードして処理できます。
コネクション設定
コネクションの設定は不要です。 開始するには、App(アプリ)>SQLコレクション by Workatoを選択するだけです。
アクション
SQL Collectionでリストを作成アクション
このアクションは、リスト入力からレシピ内にSQL Collectionリストを作成します。 SQL Collectionリストには、リストのスキーマに従った列ヘッダーが含まれます。
リストデータピルを追加する際、List sourceフィールドはFormulaモードにする必要があることに注意してください。
たとえば、Workdayからすべてのワーカーのリストを取得できます。
SQL Collectionでリストを作成
| 入力フィールド | 説明 |
|---|---|
| リストソース | リストdatapillを選択します。 このフィールドがFormulaモードになっていることを確認してください。 |
| リスト名 | リストの名前。 |
| プライマリインデックス | リストのプライマリインデックスとして1つ以上の列を選択します。 |
| セカンダリインデックス | リストのセカンダリインデックスとして1つ以上の列を選択します。 |
COLLECTIONの日付エラー
SQL Collectionを使用する際、Dateフィールドで無効な形式エラーが発生する場合があります。 このエラーは、SQLiteが日付と時刻用のストレージクラスを提供していないために発生します。 このエラーを修正するには、Mapper by Workatoを使用して、次のいずれかを実行する必要があります。
- 日付を次の形式に更新します:
YYYY-MM-DD HH:MM:SS.SSS - ダウンストリームアプリケーションで日付が不要な場合は、日付フィールドをスキップします
SQL Collectionに行を挿入アクション
このアクションは、リスト入力からレシピ内のSQL Collectionリストに行を挿入します。 SQL Collectionリストには、リストのスキーマに従った列ヘッダーが含まれます。 これは繰り返しループで使用できます。
SQL Collectionに行を挿入
| 入力フィールド | 説明 |
|---|---|
| リストソース | リストdatapillを選択します。 このフィールドがFormulaモードになっていることを確認してください。 |
| リスト名 | リストの名前。 |
| テーブルが存在しない場合は作成しますか | テーブルが存在しない場合は作成します。 |
| プライマリインデックス | リストのプライマリインデックスとして1つ以上の列を選択します。 |
| セカンダリインデックス | リストのセカンダリインデックスとして1つ以上の列を選択します。 |
CSVからSQL Collectionにリストを作成
このアクションは、CSV入力からSQL Collectionリストを作成します。 新しく作成されたリストには、CSV文字列のスキーマに従った列ヘッダーが含まれます。
たとえば、on-premシステムからファイルを取得する予定の場合、CSVファイルをダウンロードしてSQL Collectionで直接使用できます。
CSVからSQL Collectionにリストを作成
| 入力フィールド | 説明 |
|---|---|
| CSVソース | ソース入力としてCSV文字列を選択します。 |
| リスト名 | リストの名前。 |
| ファイルエンコードタイプ | ファイルエンコードタイプを選択します。 デフォルト値はUTF-8です。 |
| 列名 | CSVソース入力内の列ヘッダー。 CSVファイルでスキーマを定義するには、use a sample CSV fileを選択します。 |
| CSVヘッダー行を無視 | CSVソースにヘッダー行がある場合はYesを選択し、それ以外の場合はNoを選択します。 |
| 列区切り文字 | CSVの各行で値を区切るために使用する文字を選択します。 |
| プライマリインデックス | リストのプライマリインデックスとして1つ以上の列を選択します。 |
| セカンダリインデックス | リストのセカンダリインデックスとして1つ以上の列を選択します。 |
CSVファイルからSQL Collectionに行を挿入アクション
このアクションは、CSVファイルからレシピ内のSQL Collectionリストに行を挿入します。 CSV文字列のスキーマに従った列ヘッダーが含まれます。
CSVファイルからSQL Collectionに行を挿入
| 入力フィールド | 説明 |
|---|---|
| CSVソース | ソース入力としてCSV文字列を選択します。 |
| リスト名 | リストの名前。 |
| ファイルエンコードタイプ | ファイルエンコードタイプを選択します。 デフォルト値はUTF-8です。 |
| 列名 | CSVソース入力内の列ヘッダー。 CSVファイルでスキーマを定義するには、use a sample CSV fileを選択します。 |
| CSVヘッダー行を無視 | CSVソースにヘッダー行がある場合はYesを選択し、それ以外の場合はNoを選択します。 |
| 列区切り文字 | CSVの各行で値を区切るために使用する文字を選択します。 |
| プライマリインデックス | リストのプライマリインデックスとして1つ以上の列を選択します。 |
| セカンダリインデックス | リストのセカンダリインデックスとして1つ以上の列を選択します。 |
SQL Collectionのリストをクエリ
このアクションでは、リストに対して標準SQLクエリを実行できます。
SQL Collectionのリストをクエリ
| 入力フィールド | 説明 |
|---|---|
| SQLクエリ | SQLクエリを記述します。 通常のSQL構文が適用されます。 |
| 出力リストスキーマ | 出力リストの列ヘッダーに従ってスキーマを定義します。 JSONでスキーマを定義するには、use sample JSONを選択します。 |
| CSVに書き込み | クエリ結果をCSV文字列に変換するにはYesを選択します。これにより、以下の入力フィールドが表示されます。 このクエリ出力を後続のSQLクエリで使用するには、Noを選択します。 |
| CSVヘッダーを追加 | 列名をCSVヘッダー行として使用するにはYesを選択し、それ以外の場合はNoを選択します。 |
| 列区切り文字 | CSVの各行で値を区切るために使用する文字を選択します。 |
Query listアクションで使用できる、一般的に使用されるSQLキーワードを次に示します。
| SQLキーワード | 説明 |
|---|---|
| SELECT | SQLワイルドカード*を使用して、このリスト内のすべての列を呼び出します。 |
| WHERE | リストから取得するデータを指定する条件を定義します。 |
| JOIN | JOIN、LEFT JOIN、INNER JOINを使用してリストを結合します。 |
| INSERT INTO | リストの新しいエントリを定義します。 |
| DELETE | リストから削除する行を定義します。 |
エクスポートまたはターゲットシステムへのロードの前に、必ずリスト全体をクエリしてください。 一部のSQLキーワード(例:INSERT INTO、DELETE)はリスト出力を返しません。 そのため、これらのアクションのデータピルには、SQL Collectionリスト内のすべての行/列が含まれません。
クエリ例:リストから行を削除
たとえば、Workdayのワーカーリストを調整して、特定のグループの人を除外できます。
SQL Collectionのリストをクエリアクションで行を削除
DELETEクエリはリスト出力を返さないため、このステップのデータピルはリストのエクスポートに使用しないでください。
クエリ例:SQL CollectionをCSVとしてエクスポート
行をCSVとしてエクスポート
SELECTクエリを実行して、そのSQL Collectionからすべての行を取得します。
SELECT * FROM workers_list次に、アクション設定でWrite to CSVを選択します。 このアクションの出力は、CSVファイルとして直接エクスポートできます。
Last updated: