在 BigQuery 上使用数据传输功能时,如何排除包含“_All_Data”的文件名?

问题描述 投票:0回答:1

我使用 Google Cloud Storage 作为源,BigQuery 作为 BigQuery 中可用的数据传输功能的目标。因此,在创建新数据传输时的数据源详细信息中,我需要输入“Cloud Storage URI”,但我不知道如何排除文件名上带有特定文本(例如“_All_Data”)的文件。

我试过使用ChatGPT提供的模式

bucket/filepath1/2023/*/*/filename_2023*!_All_Data.csv
,但是没有用。我期望我能够在 2023 年提取所有文件名以“filename_2023”开头的文件,并排除所有包含“_All_Data”的文件。

基本上,我的期望是我能够提取如下文件:

  • bucket/filepath1/2023/05/03/filename_20230503.csv
  • bucket/filepath1/2023/05/02/filename_20230502.csv
  • bucket/filepath1/2023/03/03/filename_20230303.csv

并排除文件,例如:

  • bucket/filepath1/2023/05/03/filename_20230503_All_Data.csv
  • bucket/filepath1/2023/05/02/filename_20230502_All_Data.csv
  • bucket/filepath1/2023/03/03/filename_20230303_All_Data.csv
google-cloud-platform google-bigquery google-cloud-storage uri google-cloud-data-transfer
1个回答
0
投票

试一试。我检查了这个工作。

grep -v 'All'
将确保其中包含
All
的文件名将被排除,其他文件将被复制到 target-gcs-bucket

gsutil ls gs://your-source-gcs-bucket/*.* | grep -v 'All' | gsutil cp -I gs://your-target-gcs-bucket/
© www.soinside.com 2019 - 2024. All rights reserved.