zu speichern Wenn ich BigQuery mit Funken verwenden, wan ich spezielle partitionierten Tables.like dies:BigQuery mit Funken in partitionierten Tabellen
configureBigQueryOutput(hadoopConf,
"test", "shade2$20170626",
"[{'name': 'word', 'type': 'STRING'}, {'name': 'word_count', 'type': 'INTEGER'}]");
, aber wenn ich das Programm ausführen, tritt der Fehler auf:
Ausnahme im Thread "main" java.lang.IllegalArgumentException: Ungültig datasetAndTableString 'test.shade2 $ 2017062626'; muss mit Regex übereinstimmen '[a-zA-Z0-9 _] +. [a-zA-Z0-9 _] +'. bei com.google.common.base.Preconditions.checkArgument (Preconditions.java:145) bei com.google.cloud.hadoop.io.bigquery.BigQueryStrings.parseTableReference (BigQueryStrings.java:55) bei com. google.cloud.hadoop.io.bigquery.BigQueryConfiguration.configureBigQueryOutput (BigQueryConfiguration.java:238) bei com.vsoontech.bi.bq.spark.BqSparkDemo2.configureBigQueryOutput (BqSparkDemo2.java:44) bei com.vsoontech. bi.bq.spark.BqSparkDemo2.execute (BqSparkDemo2.java:66) bei com.vsoontech.bi.bq.spark.Main.main (Main.java:10)
Also, es gibt etwas, um es zu lösen, wenn ich den Datumsteil der Tabelle speziell machen möchte? denkt.
denkt nach! Das löst mein Problem. Die Handlung ist, dass ich die alte Version 0.7.2-hadoop2 für Google-Connector verwende. Wenn ich zu 0.8.0-hadoop2 ändere (bestätigen Sie, dass BigQueryStrings "$" enthält). Es klappt. –