2017-02-16 63 views
0

我正在使用Spark将一组表从BigQuery中同步到BigQuery中,并且AppFlyer(https://github.com/appsflyer-dev/spark-bigquery)上的人员创建了一个简单的包装库。这种方法对我所有的表格都是一种魅力,除了一种。在导入该表时,我从BigQuery中收到以下错误:当导入到BigQuery中 - 遇到JSON表

线程“main”异常java.io.IOException:JSON表遇到太多错误,放弃。行数:1;错误:1。 在 com.google.cloud.hadoop.io.bigquery.BigQueryUtils.waitForJobCompletion(BigQueryUtils.java:95) 在 com.appsflyer.spark.bigquery.BigQueryClient.com $ appsflyer $火花$ $的BigQuery BigQueryClient $$ waitForJob(BigQueryClient.scala:129) 在 com.appsflyer.spark.bigquery.BigQueryClient.load(BigQueryClient.scala:100)

上的MySQL侧的表模式看起来像:

CREATE TABLE mytable (
    id bigint(20) unsigned NOT NULL AUTO_INCREMENT, 
    field1_id int(11) NOT NULL, 
    created_at datetime(6) DEFAULT NULL, 
    updated_at datetime(6) DEFAULT NULL, 
    field2_id int(11) NOT NULL, 
    hidden_at datetime(6) DEFAULT NULL, 
    deleted_at datetime(6) DEFAULT NULL, 
    field3 tinyint(4) NOT NULL, 
    field4 tinyint(1) DEFAULT '1', 
    PRIMARY KEY (id), 
) ENGINE=InnoDB AUTO_INCREMENT=10193389 DEFAULT CHARSET=utf8mb4; 

我不知所措这个t能够导致问题。

+0

相关:https://code.google.com/p/google-bigquery/issues/detail?id=530 – Pentium10

+0

http://stackoverflow.com/questions/36586472/google-big-query-error-csv -table-encountered-too-many-errors-giving-up-row-1 – Pentium10

+0

没有看到有效负载在运行API调用时很难识别某些转换应用程序中的错误。 – Pentium10

回答

0

问题解决了 - 发送的JSON表格描述与表示发送数据的JSON之间存在不匹配。这被固定与此PR:

https://github.com/appsflyer-dev/spark-bigquery/pull/8

代码是创建与文本类型的一列,但火花的表JSONizer编码的数据作为数字。 BigQuery的表导入失败并显示发布的错误。一个更好的错误本来不错。