Csv 将.gz文件从S3导入到BigQuery

Csv 将.gz文件从S3导入到BigQuery,csv,amazon-s3,google-bigquery,gzip,Csv,Amazon S3,Google Bigquery,Gzip,我在S3存储桶中得到了一堆压缩的CSV文件,我想将其导入BigQuery。从文档中可以看出,BQ可以从不同的来源导入gzip数据。然而,当我配置数据传输作业时,它只允许CSV、JSON、AVRO、拼花、ORC文件格式 将传输作业配置为CSV文件格式并运行后,它会记录以下内容: Moving data from Amazon S3 to Google Cloud complete: Moved 64 object(s). Summary: succeeded 0 jobs, failed

我在S3存储桶中得到了一堆压缩的CSV文件,我想将其导入BigQuery。从文档中可以看出,BQ可以从不同的来源导入gzip数据。然而,当我配置数据传输作业时,它只允许CSV、JSON、AVRO、拼花、ORC文件格式

将传输作业配置为CSV文件格式并运行后,它会记录以下内容:

Moving data from Amazon S3 to Google Cloud complete: Moved 64 object(s).    
Summary: succeeded 0 jobs, failed 0 jobs.
所以它似乎并没有研究.gz档案


是否有一种简便的方法可以将Gzip CSV文件从S3导入BQ表?

除了从UI提供的bigquery S3数据传输之外,如果您正在寻找通过CLI的替代方法。您可以使用with aws凭据将文件复制到google cloud storage,并使用cli将文件传输到bigquery


除了从UI提供的bigquery s3数据传输之外,如果您正在寻找通过CLI的替代方法。您可以使用with aws凭据将文件复制到google cloud storage,并使用cli将文件传输到bigquery


嗨,你能修好吗?。根据文档,它们支持gzip文件。是。作业设置有问题。最后,我成功地导入了gzipped CSV。@VadimTikanov如果您根据社区精神在这里发布您的解决方案作为答案,那将是一件好事。坦白说,我没有了解到底是什么解决了这个问题。我试着重新创造这份工作,最终它成功了。看起来我一开始可能弄乱了一些复选框。所以答案是“是的,BQ支持导入gzipped CSV,但一定要注意作业设置”。嗨,你能修复它吗?。根据文档,它们支持gzip文件。是。作业设置有问题。最后,我成功地导入了gzipped CSV。@VadimTikanov如果您根据社区精神在这里发布您的解决方案作为答案,那将是一件好事。坦白说,我没有了解到底是什么解决了这个问题。我试着重新创造这份工作,最终它成功了。看起来我一开始可能弄乱了一些复选框。因此答案是“是的,BQ支持导入Gzip CSV,但请务必注意作业设置”。
 echo "source s3 bucket:"$source_bucket""
 echo "target gcs bucket:"$dest_bucket""
 SCHEMA="/path/to/schema/file"
 dir_data=$(gsutil -o "Credentials:aws_access_key_id=${aws_access_key_id}" \
     -o "Credentials:aws_secret_access_key=${aws_secret_access_key}" \
     ls "$source_bucket")
 echo "files to transfer "$dir_data""
 echo "transfering data into google storage $dest_bucket"
 tr_data=$(gsutil -m -o "Credentials:aws_access_key_id=${aws_access_key_id}" \
     -o "Credentials:aws_secret_access_key=${aws_secret_access_key}" \
     cp "$source_bucket"* "$dest_bucket")
 echo "bq transfer - $target_dataset"
 bq --debug_mode=true load --source_format=CSV \
     --encoding=UTF-8 --allow_jagged_rows --allow_quoted_newlines \
     --skip_leading_rows=1 "$target_table" "$dest_bucket"part-*.gz "$SCHEMA"
 echo "transfer to bq complete"