ドライブからBigQueryにデータをアップロードする必要があります。 これらの2つの説明(Upload CSV,BQ Jobs)、BigQuery - アプリスクリプトを使用してスキーマの自動検出を使用してcsvをアップロードする
が見つかりましたが、毎回新しいスキーマを定義する必要はありません。手動アップロードでは、 '自動検出'をチェックすることができますが、スクリプトではそれを行う方法を見つけることができません。
おかげjobs.load
APIで
ドライブからBigQueryにデータをアップロードする必要があります。 これらの2つの説明(Upload CSV,BQ Jobs)、BigQuery - アプリスクリプトを使用してスキーマの自動検出を使用してcsvをアップロードする
が見つかりましたが、毎回新しいスキーマを定義する必要はありません。手動アップロードでは、 '自動検出'をチェックすることができますが、スクリプトではそれを行う方法を見つけることができません。
おかげjobs.load
APIで
は、あなたがconfiguration.load.autodetect
オプションを探しています。 Apps Scriptには同様の名前の設定が必要です。
ありがとうエリオット。
var file = DriveApp.getFileById(csvFileId);
var data = file.getBlob().setContentType('application/octet-stream');
// Create the data upload job.
var job = {
configuration: {
load: {
destinationTable: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId
},
skipLeadingRows: 1,
autodetect: true
}
}
};
job = BigQuery.Jobs.insert(job, projectId, data);
それは私が探しているものです、正しい:ここ
が更新要求があります。私はAPIリファレンスを見つけましたが、アプリスクリプトに実装する方法はわかりません。 – Ilja
'configuration'の一部である' load'オブジェクト内でtrueに設定するだけです。 [CSVを読み込む](https://developers.google.com/apps-script/advanced/bigquery#load_csv_data)の例を参照し、 'table'オブジェクトから' schema'を省略してください。 –
こんにちは@Ilja、Stackoverflowへようこそ!答えがあなたに役立ち、あなたの問題を解決する場合はそれを受け入れることを検討し、またそれを投票してください:)! –