Rtoaster insight+でファイルの取り込み/出力を行う場合、ジョブという処理単位で実行されます。
ジョブの実行はCron形式でスケジュールすることができ、「一回限り」「毎日xx時」「毎月xx日」など実行開始の時刻をジョブ単位で指定します。
ジョブでデータの取り込み/出力を行う際の仕様を掲載しています。
出力するデータが存在しない場合
- たとえば、履歴データなどで出力するデータが存在しない場合や元データが全消去されるな
ど、出力するデータが存在しない場合は、「ヘッダー行有無」の指定に応じてファイルが出力されます。- ヘッダー行有:ヘッダーのみ(1行)のファイルが出力されます。
- ヘッダー行無:空のファイルが出力されます。
- スケジュール実行されるジョブで取り込み対象ファイルが存在しない場合でも、ジョブが失敗することはありません。ジョブの仕様上「ファイルなし」として正常終了します。
BigQueryテーブルを利用する場合
- Google Cloud Storage(GCS)をデータソースとするテーブルを参照するクエリがジョブの入力元の場合、参照元のファイルがGCSに存在しない場合の結果は、Google BigQuery上のクエリ実行結果に依存して、Rtoaster insight+では以下のようになります。
- Google BigQuery上のクエリ実行でエラーにならない場合、Rtoaster insight+のジョブ実行結果は出力先に空ファイルが生成されて成功します。
- Google BigQuery上のクエリ実行でエラーになる場合は、Rtoaster insight+でも同様にジョブはエラーとなります。
Rtoaster insight+の内部システムにはGoogle BigQueryが採用されており、基本的な仕様はGoogle BigQueryテーブルに準じます。
注意事項
ジョブでファイルの取り込み、出力を行う際の注意事項となります。
取り込み可能なファイルの仕様についてはこちらをご参照ください。
データの取り込み規則
- 一度取り込まれたファイルは、ファイルが更新されない限り同じジョブ内の次回実行以降は取り込まれません。
- 初回実行時にはファイルパスに該当する全てのファイルを取り込み、その後はファイルパスに該当するファイルのうち、前回ジョブ実行以降に更新されたファイルのみ取り込まれます。
- 更新状況は内容のほかメタデータの更新も含み、タイムスタンプにより判断されます。
- 上記の挙動上、途中でジョブのファイルパスを変更した際など、指定のファイルが古い場合には取り込まれない可能性があります。
- ファイル取り込みのジョブの設定を更新し、取り込むファイルのパスを変更する場合には、実際に配置されている取り込み対象ファイルを確認いただき、(取り込まれていないファイルが複数あれば次のジョブ実行ですべて取り込まれます)、既存のジョブの更新か、新規ジョブの作成か、など対応を適宜ご検討ください。
- この規則はジョブ毎の管理となりますので、別のジョブで取り込み対象になっていた場合には取り込みが行われます。
- 上記ルールと正規表現を組み合わせることで、定期的に更新されるファイルを取り込むことが可能です。詳細はこちらをご参照ください。
- NULLABLEのカラムを取り込み対象カラムに指定していない場合は、そのカラムはNULLで取り込まれます。
- 指定したファイルが無い場合の処理については、管理画面でジョブ作成を行う際の入力元設定で「ファイルが存在しなかった場合の処理」を設定することで、処理を続行して成功にするか、処理を中止して失敗にするか選択が可能です。
データ取り込み時の注意点
- ジョブの編集のデータプレビュー画面にて出力先テーブルのタイプにカラム型が設定されていますが、プレビューした範囲内での型の推測になるため、データ全体としては推測結果がふさわしくない場合があります。
型とデータが合っていない場合、ジョブ実行時にエラーとなる可能性があるため、保存前にカラム型をご確認ください。 - 出力先カラム名は日本語で設定できません。日本語が利用されている場合は自動的に「string_field_XX」などのカラム名に変換されます。