LoginSignup
0
0

More than 1 year has passed since last update.

Xplenty入門 Part4: Destinationの設定

Last updated at Posted at 2020-05-15

こんにちは。今回はDestinationコンポーネントの設定、つまりデータのロード対象となる送信先のデータベースやストレージに関する設定について解説したいと思います。

まずDestinationコンポーネントには複数の種類があります。
image.png

上記のDestinationの一覧にあるディスティネーション以外にもCurlでのデータ書き込みをサポートしています。そちらについては、別のブログ「Xplenty : Curl Functionを使ったデータ更新 (デモ動画あり)」で解説してますのでチェックしてみてください。

今回はDestinationコンポーネントの中でもAmazon RedshiftやBigQueryのような特定のDestinationに保存するものもありますが、DatabaseやStorageのように、さらにDestinationの対象を設定するものがあります。そこで、DatabaseとStorageについて詳しく見ていきましょう。

1. Databaseコンポーネント

この中でDatabaseを選択した場合は、さらに以下のリストからお好みのデータベースを選択可能です。
image.png

データの更新方法が豊富

また、設定の詳細では、更新方法については、追加のみ上書き更新差分更新といったきめ細かいオプションを設定可能です。
image.png

処理前と処理後にSQLを実行することが可能

Pre-action SQLとPost-action SQLでは、データをデータベースに書き込む直前もしくは直後のSQL処理を設定することが可能です。

この機能を使うことで、事前にテーブルを作成したり、あるテーブルを更新した後に、更新されたデータをもとに別のテーブルへデータを書き込んだりするのに利用することが可能です。

2. File Storageコンポーネント

File storageを選択した場合も同様に、以下のリストからお好みのストレージが選択可能です。
image.png

保存時のオプションは以下の4つがあります

  • Write all files directly and fail the job if target directory already exists
    ファイルはターゲットディレクトリに直接書き込まれます。デフォルトでは、ターゲットディレクトリが既に存在する場合、ジョブは失敗します。変数を使用して、ジョブが実行されるたびに新しいディレクトリ名を動的に生成することができます (例: /output/${_JOB_ID})。
    image.png

  • Write all files directly and delete target directory if already exists
    ファイルはターゲットディレクトリに直接書き込まれます。
    注意: 実行時に、対象ディレクトリが存在するかどうかを確認し、存在する場合は、対象ディレクトリを削除します。

  • Write all files directly and replace files in directory if they already exist
    対象ディレクトリに直接ファイルを書き込みます。このオプションを選択した場合、実行先のディレクトリが存在していてもジョブは失敗せず、既存のディレクトリにファイルが書き込まれます。同名のファイルがディレクトリ内に存在する場合は上書きされます。ディレクトリにファイルを追加したい場合は、ジョブ実行毎に固有のファイルパターンを使用するように変更してください(例:ファイルのプレフィックスに変数${_JOB_ID}を使用する(下記参照))。
    注意: 対象ディレクトリはジョブ失敗時に削除されます。

  • Use intermediate storage and copy files to an existing directory in destination
    ファイルは中間ストレージに書き込まれた後、コピー先のディレクトリにコピーされます。
    注意: このオプションを利用する場合、ターゲットディレクトリが存在することを確認してください。ディレクトリがない場合はエラーとなります。

ヒント: ストレージ保存時のファイル名の指定について

Xplentyでファイルを出力時に、以下のように自動的に番号が付与される仕組みになっています。
image.png

このファイル名に自動的に付与される番号を回避し、希望通りにファイル名を設定する方法は以下の通りです。

1.File storageコンポーネントの設定画面にある「Destination action」で「Use intermediate storage and copy files to an existing directory in destination」を選択します。

image.png

2.フォルダパス側の指定に保存したいファイル名を含めます。
image.png

3.意図したファイル名で指定したストレージのパスに出力されます。
image.png

File Storageコンポーネント:その他のTips

  • ストレージを選択した場合、柔軟にファイルを保存するためのオプションが多く用意されています。詳細は「ストレージサービス連携機能 : Shift-JISにも対応」で解説しています。

  • Merge output to single file
    宛先ディレクトリに単一のファイルのみが書き込まれることを確認してください。特定のプラットフォームでのファイルサイズの制限は、ジョブに失敗する可能性があります。
    image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0