Skip to content
Last updated

Dynalyst Export Integration

Dynalyst インポート連携の詳細を確認する

Dynalyst に直接エクスポートできます。Dynalyst はストレージとして AWS S3 を使用しており、エクスポートプロセスは AWS S3 へのジョブ結果のエクスポートと同様です。

制限事項

S3 への結果出力におけるクエリ結果の上限は 100GB です。クエリ結果が上限を超えると、ログに次のように表示されます:

The number of chunk for multipart upload is exceeded.

クエリを使用してデータを分割するか、td table: export コマンドを使用してください。

TD Console を使用した接続の作成

認証設定の完了

  1. Dynalyst インポートおよびエクスポート連携で以下を確認し、完了してください
    • 前提条件
    • 新しい接続の作成
  2. Dynalyst 認証を検索します。
  3. New Source を選択します。

エクスポート結果の定義

クエリを作成または再利用します。エクスポートクエリは、Dynalyst にエクスポートされるデータセットを定義します。ここでは次のオプションがあります:

  • TD Console を使用したエクスポートクエリの定義
  • TD Toolbelt を使用したエクスポートクエリの定義

場合によっては、クエリで列マッピングを定義する必要があります。

TD Console を使用したエクスポートクエリの定義

  1. TD Console を開きます。
  2. Data Workbench > Queries に移動します。
  3. データのエクスポートに使用する予定のクエリにアクセスします
  4. Output Results を選択します。 Choose Saved Connection ダイアログが開きます。
  5. 検索ボックスに接続名を入力してフィルタリングし、接続を選択します。
  6. パラメータを指定します。

TD Toolbelt を使用したエクスポートクエリの定義

TD Toolbelt を使用してエクスポートクエリを定義することはオプションです。エクスポートクエリは、Dynalyst にエクスポートされるデータセットを定義します。

考慮事項:

  • アクセスキーとシークレットキーは URL エンコードする必要があります。
  • セキュリティ上の理由から、ストレージの書き込みアクセス権限を管理するために AWS IAM を使用することをお勧めします。
  • 結果を圧縮するには、—result URL で compression オプション (gz) を指定できます。
  1. TD Toolbelt がインストールされ、設定されているコンピュータでターミナルウィンドウを開きます。
  2. TD Toolbelt query コマンドを使用して SQL クエリを定義します。例えば、クエリ結果を圧縮する場合:
td query \
--result 'dynalyst://accesskey:secretkey@/bucketname/path/to/file.csv.gz?compression=gz' \
-w -d testdb \
"SELECT code, COUNT(1) AS cnt FROM www_access GROUP BY code"

ジョブが完了すると、結果は指定された名前とパスで S3 バケットに書き込まれます。

非圧縮データの例

compression パラメータがない場合、ジョブは非圧縮データを生成します。例えば:

$ td query \
  --result 'dynalyst://accesskey:secretkey@/bucketname/path/to/file.csv' \
  -w -d testdb \
  "SELECT code, COUNT(1) AS cnt FROM www_access GROUP BY code"

AWS S3 サーバー側でのアップロードデータの暗号化

AWS S3 サーバー側暗号化を使用してアップロードデータを暗号化できます。暗号化キーを準備する必要はありません。データは 256 ビット Advanced Encryption Standard (AES-256) を使用してサーバー側で暗号化されます。

バケットに保存されるすべてのオブジェクトにサーバー側暗号化が必要な場合は、サーバー側暗号化バケットポリシーを使用してください。サーバー側暗号化が有効になっている場合、use_sse オプションを有効にする必要はありません。ただし、暗号化情報のない HTTP リクエストを拒否するバケットポリシーがある場合、ジョブ結果が失敗する可能性があります。

td query \
--result 'dynalyst://accesskey:secretkey@/bucketname/path/to/file.csv?use_sse=true&sse_algorithm=AES256' \
-w -d testdb \
"SELECT code, COUNT(1) AS cnt FROM www_access GROUP BY code"

最終ファイル形式のカスタマイズ

デフォルトの結果出力形式は CSV RFC 4180 です。TSV 形式での出力もサポートされています。CSV および TSV 形式の両方について、次の表は、出力先に書き込まれるファイルの最終形式をカスタマイズするために使用できるオプションを示しています:

名前説明制限CSV デフォルトTSV デフォルト
formatファイル形式を指定するメイン設定csvcsv (TSV 形式を選択するには 'tsv' を使用)
delimiter区切り文字を指定するために使用, (カンマ)\t (タブ)
quote引用符文字を指定するために使用TSV 形式では使用不可" (二重引用符)(文字なし)
escape他の特殊文字をエスケープするために使用される文字を指定TSV 形式では使用不可" (二重引用符)(文字なし)
null'null' 値の表示方法を指定するために使用(空文字列)\N (バックスラッシュ大文字 n)
newlineEOL (End-Of-Line) の表現を指定するために使用\r\n (CRLF)\r\n (CRLF)
header列ヘッダーを非表示にするために使用可能列ヘッダーが出力されます。非表示にするには 'false' を使用列ヘッダーが出力されます。非表示にするには 'false' を使用

次の例は、カスタマイズが要求されていない場合の CSV 形式のデフォルトサンプル出力を示しています:

code,cnt
"200",4981
"302",
"404",17
"500",2

format=tsv、delimiter="、および null=NULL オプションを指定した場合:

td query \
--result 'dynalyst://accesskey:secretkey@/bucket_name/path/to/file.tsv?format=tsv&delimiter=%22&null=empty' \
-w -d testdb \
  "SELECT code, COUNT(1) AS cnt FROM www_access GROUP BY code"

出力は次のように変わります:

"code" "cnt"
"200" 4981
"302" NULL
"404" 17
"500" 2