【问题标题】:Loading Avro Data into BigQuery via command-line?通过命令行将 Avro 数据加载到 BigQuery 中?
【发布时间】:2017-12-27 08:13:50
【问题描述】:

我创建了一个 avro-hive 表并使用 hive insert-overwrite 命令从另一个表将数据加载到 avro-table 中。我可以在 avro-hive 表中看到数据,但是当我尝试将其加载到 bigQuery 表中时,它给出一个错误。 表架构:-

CREATE TABLE `adityadb1.gold_hcth_prfl_datatype_acceptence`(  
  `prfl_id` bigint,     
  `crd_dtl` array< struct < cust_crd_id:bigint,crd_nbr:string,crd_typ_cde:string,crd_typ_cde_desc:string,crdhldr_nm:string,crd_exprn_dte:string,acct_nbr:string,cre_sys_cde:string,cre_sys_cde_desc:string,last_upd_sys_cde:string,last_upd_sys_cde_desc:string,cre_tmst:string,last_upd_tmst:string,str_nbr:int,lng_crd_nbr:string>>)        
STORED AS AVRO;

我得到的错误:-

Error encountered during job execution:
Error while reading data, error message: The Apache Avro library failed to read data with the follwing error: Cannot resolve:

我正在使用以下命令将数据加载到 bigquery 中:-

bq load --source_format=AVRO dataset.tableName avro-filePath

【问题讨论】:

  • 我想“avro-filePath”不是HDFS路径,而是GCS路径或本地(Linux文件系统)路径?
  • @Sourygna,你是对的。avro-filePath 是 GCS PATH。它与错误有关吗?
  • 如果是 GCS 路径就可以了。 (我只是想确定它不是 HDFS)。在 "Cannot resolve:" 之后你没有更多的错误信息吗?

标签: hive google-bigquery avro


【解决方案1】:

确保您指向的 gs 文件夹中有可用的数据,并且数据包含架构(如果您是从 Hive 创建的,则应该包含架构)。这里有一个如何加载数据的示例

bq --location=US load --source_format=AVRO  --noreplace my_dataset.my_avro_table gs://myfolder/mytablefolder/part-m-00001.avro

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 2019-02-23
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多