gpt4 book ai didi

google-bigquery - 将 10 个数据集(每个数据集有 80 个表)从 bigquery 导出到谷歌存储的有效方法?

转载 作者:行者123 更新时间:2023-12-01 12:22:29 27 4
gpt4 key购买 nike

我在 BigQuery 中有 10 个数据集,每个数据集有 80 个表。我知道我可以使用控制台或 Web UI 将每个数据集中的每个表逐一导出到谷歌存储。这是为了备份目的。但是,这需要一段时间。

我想知道是否有更方便的方法来处理这个问题?

最佳答案

您可以使用 bq 命令行工具 ( https://cloud.google.com/bigquery/bq-command-line-tool )

以下代码将帮助您实现同样的目标:

project="bigquery-project"
dataset="your-dataset"
bucket="your-bucket"

# get list of tables
tables=$(bq ls "$project:$dataset" | awk '{print $1}' | tail +3)

for table in $tables
do
bq extract --destination_format "CSV" --compression "GZIP" "$project:$dataset.$table" "gs://$bucket/$table/$table.csv.gz"
done

此外,如果你想在异步模式下运行命令,请将提取命令替换为以下内容

    bq --nosync extract --destination_format "CSV" --compression "GZIP" "$project:$dataset.$table" "gs://$bucket/$table/$table.csv.gz" 

附言:

  • 确保 bq 命令行工具已安装并且在您的环境中。它带有 google cloud SDK。要验证您可以运行 bq help

关于google-bigquery - 将 10 个数据集(每个数据集有 80 个表)从 bigquery 导出到谷歌存储的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42926433/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com