繁体   English   中英

无法从Spark读取hadoop / hive外部s3表

[英]Unable to read hadoop/hive external s3 table from spark

突然我无法从spark读取hive外部s3表,我注意到在几个分区下创建了子文件夹。

我希望可以配置任何参数或设置,以便Hadoop不会创建这些子文件夹。

当我从s3中手动删除子文件夹时,我可以读取表。 但需要找到一种方法,以使这些子文件夹将来不会被随机创建。

CREATE EXTERNAL TABLE `mydb.mytable`(
    `id` string COMMENT 'from deserializer', 
    `attribute_value` string COMMENT 'from deserializer', 
    `attribute_date` string COMMENT 'from deserializer', 
    `source_id` string COMMENT 'from deserializer')
     PARTITIONED BY (`partition_source_id` int)
     ROW FORMAT SERDE 'com.bizo.hive.serde.csv.CSVSerde' 
     STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' 
     OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
     LOCATION 's3://path/my_data'
     TBLPROPERTIES ('transient_lastDdlTime'='1567170767')

当我运行select * query时,我得到:

错误:java.io.IOException:不是文件:s3:// my_path / partition_source_id = 11/1 1条语句失败。

我认为该DDL不会创建子文件夹。 如果有一些工作可以将数据加载到“ s3:// path / my_data”中并在mydb.mytable上执行DDL add分区,我想您应该看一下该工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM