【问题标题】:Bigquery load data in Day-partitioned tablesBigquery 在日分区表中加载数据
【发布时间】:2016-06-09 16:04:58
【问题描述】:

我想创建按天分区的数据并从 Cloude Storage 加载数据。 我已经完成的步骤

  1. bq mk --time_partitioning_type=DAY myDataSet.dailytable

  2. bq load --source_format=AVRO myProjectId:myDataSet.dailytable$20150510 gs://myBucket/path/2016-05-10/*

实际结果:

我有 2 个表:dailyTable 和 dailyTable$0150510

预期结果:

我有 2 张桌子 dailyTable 和 dailyTable$20150510

这是预期的行为吗?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    在 Unix shell 上,'$' 是一个特殊字符,您需要对其进行转义,或者将整个表名放在单引号中,如下所述:

    https://cloud.google.com/bigquery/docs/partitioned-tables#addressing_table_partitions

    这样你不会得到两张桌子。 myDataSet.dailytable 将有一个单独的分区“myDataSet.dailytable$20150510”,对应于 2015 年 5 月 10 日。该分区是可寻址的,就好像它是一个表一样。

    【讨论】:

    • 谢谢,它有帮助。 bq load --source_format=AVRO 'myProjectId:myDataSet.dailytable$20160510' gs://myBucket/2016-05-10/* 工作正常
    • 是否可以使用通配符来避免一次加载一天?
    • 目前不可能。我们正在努力支持对用户指定的日期或时间戳列进行分区,此时您将能够直接使用表名。当我们有可用的功能时,我们将提供更新。谢谢!
    • @PavanEdara 有关此功能的更多信息?将“遗留”数据加载到 BQ 时会非常有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多