クラウドストレージにデータがあり、そのデータをBigQueryに転送して統計を取得したいと思います。現在、JobConfigurationLoadを使用して単一のファイルを取得しています。コードのサンプルは次のとおりです。
JobConfigurationLoad jobconfigurationqLoad = new JobConfigurationLoad();
jobconfigurationqLoad.setSkipLeadingRows(1); // First line are columns names
jobconfigurationqLoad.setSourceUris(Lists.newArrayList("gs://my_app/folder_name/test_file.csv"));
jobconfigurationqLoad.setWriteDisposition("WRITE_APPEND");
jobconfigurationqLoad.setEncoding(PlatformConstants.DEFAULT_ENCODING);
jobconfigurationqLoad.setCreateDisposition("CREATE_IF_NEEDED");
jobconfigurationqLoad.setDestinationTable(tableReference);
**tableReference = my table in big query
jobconfigurationqLoad.setSchemaInline("field1:STRING,field2:STRING");
// JobConfiguration
JobConfiguration jobConfiguration = new JobConfiguration();
jobConfiguration.setLoad(jobconfigurationqLoad);
// JobReference
JobReference jobreference = new JobReference();
jobreference.setProjectId(PROJECT_ID);
// Job
Job insertJob = new Job();
insertJob.setConfiguration(jobConfiguration);
insertJob.setJobReference(jobreference);
「setSourceUris」では、フォルダーのみを配置し、そこにあるすべてのファイルを取得したかったのですが、それは機能しないようです。バケットのコンテンツを取得することについてのGoogleAPIのドキュメントを見ましたが、バケット内の1つのフォルダーだけではありません。この回答にも同様のことがあります。私はJavaでGAEを使用しています。