当我在Spark中使用BigQuery时,我想要特殊的Partitioned Tables.like:
configureBigQueryOutput(hadoopConf,
"test", "shade2$20170626",
"[{'name': 'word', 'type': 'STRING'}, {'name': 'word_count', 'type': 'INTEGER'}]");
但是当我运行程序时,会发生错误:
线程“main”中的异常java.lang.IllegalArgumentException:无效 datasetAndTableString'test.shade2 $ 20170626';必须匹配正则表达式 '[A-ZA-Z0-9 _] +。[A-ZA-Z0-9 _] +'。在 com.google.common.base.Preconditions.checkArgument(Preconditions.java:145) 在 com.google.cloud.hadoop.io.bigquery.BigQueryStrings.parseTableReference(BigQueryStrings.java:55) 在 com.google.cloud.hadoop.io.bigquery.BigQueryConfiguration.configureBigQueryOutput(BigQueryConfiguration.java:238) 在 com.vsoontech.bi.bq.spark.BqSparkDemo2.configureBigQueryOutput(BqSparkDemo2.java:44) 在 com.vsoontech.bi.bq.spark.BqSparkDemo2.execute(BqSparkDemo2.java:66) 在com.vsoontech.bi.bq.spark.Main.main(Main.java:10)
所以,有什么可以解决它,如果我想特别表的日期分区?认为
答案 0 :(得分:0)
这似乎是在最新版本的bigdata-interop库中修复的。
" $" (分区分隔符)已添加为表引用中的有效字符。