Google bigquery 为什么decorator不能处理整数范围分区的bigquery表?

Google bigquery 为什么decorator不能处理整数范围分区的bigquery表?,google-bigquery,Google Bigquery,我创建了一个整数范围分区的bigquery表,与教程中描述的类似: 创建表 mydataset.newtable 分割 范围\u BUCKETcustomer\u id,生成\u阵列1,100,1 选择1作为客户id,日期2019-10-01作为日期1 但是,尝试将单个分区提取到一个bucket中,在bash中运行 bq extract myproject:mydataset.newtable\$1 gs://mybucket/newtable.csv 我得到一个错误,分区密钥无效。为什么?如何

我创建了一个整数范围分区的bigquery表,与教程中描述的类似:

创建表 mydataset.newtable 分割 范围\u BUCKETcustomer\u id,生成\u阵列1,100,1 选择1作为客户id,日期2019-10-01作为日期1 但是,尝试将单个分区提取到一个bucket中,在bash中运行

bq extract myproject:mydataset.newtable\$1 gs://mybucket/newtable.csv 我得到一个错误,分区密钥无效。为什么?如何找到有效的密钥

类似地,我不能使用decorator使用query composer从特定分区中进行选择: 从mydataset.newtable$0中选择,或从mydataset.newtable$1中选择 给予


decorator$在LegacySQL中有效,但您可以选择以下选项之一:

# LegacySQL, legacy sql is used by default in the following command. 
# From the UI you need to change it in More -> Query Settings
bq query 'SELECT * from mydataset.newtable$10'

关于bq extract命令,我可以在删除后导出:

$ bq extract myproject:mydataset.newtable$1 gs://mybucket/newtable.csv
Waiting on bqjob_..._000001701cb5d260_1 ... (0s) Current status: DONE   
$ gsutil cat gs://mybucket/newtable.csv
customer_id,date1
18,2020-10-01
1,2019-10-01
2,2019-10-02
$
编辑:

在检查下面的评论后,您是正确的,上面的bq摘录将返回所有数据

该文件建议“mydataset.table$N”应该有效。但当使用scape字符\时,返回此错误:分区键无效:键:N


由于没有文档表明这是可能的,我已经创建了一个FR来添加这个功能。您可以在中监视此请求,请务必注意,它的解决方案没有ETA。

decorator$在LegacySQL中有效,但您可以选择以下选项之一:

# LegacySQL, legacy sql is used by default in the following command. 
# From the UI you need to change it in More -> Query Settings
bq query 'SELECT * from mydataset.newtable$10'

关于bq extract命令,我可以在删除后导出:

$ bq extract myproject:mydataset.newtable$1 gs://mybucket/newtable.csv
Waiting on bqjob_..._000001701cb5d260_1 ... (0s) Current status: DONE   
$ gsutil cat gs://mybucket/newtable.csv
customer_id,date1
18,2020-10-01
1,2019-10-01
2,2019-10-02
$
编辑:

在检查下面的评论后,您是正确的,上面的bq摘录将返回所有数据

该文件建议“mydataset.table$N”应该有效。但当使用scape字符\时,返回此错误:分区键无效:键:N

由于没有文档表明这是可能的,我已经创建了一个FR来添加这个功能。您可以在中监视此请求,需要注意的是,此请求的解决没有ETA。

此问题现在已由Google解决,因此以下命令按预期工作:

bq extract myproject:mydataset.newtable\$1 gs://mybucket/newtable.csv
此问题现在已由Google解决,因此以下命令按预期工作:

bq extract myproject:mydataset.newtable\$1 gs://mybucket/newtable.csv

有趣的是,他们的文件说这应该行得通。可能需要提交错误报告。摘录似乎不支持该报告。我用分区装饰器尝试了bq head,效果很好。有趣的是,他们的文档说这应该可以。可能需要提交错误报告。摘录似乎不支持该报告。我用分区装饰器试过bq head,效果很好。谢谢。我认为如果没有反斜杠,您的命令只会提取整个表。bash将$1解释为一个参数,它将是一个空字符串。echo hello$1表示问候。谢谢。我认为如果没有反斜杠,您的命令只会提取整个表。bash将$1解释为一个参数,它将是一个空字符串。例如,echo hello$1表示问候。