我在Hive中有一张桌子:
CREATE EXTERNAL TABLE sr2015(
creation_date STRING,
status STRING,
first_3_chars_of_postal_code STRING,
intersection_street_1 STRING,
intersection_street_2 STRING,
ward STRING,
service_request_type STRING,
division STRING,
section STRING )
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES (
'colelction.delim'='\u0002',
'field.delim'=',',
'mapkey.delim'='\u0003',
'serialization.format'=',', 'skip.header.line.count'='1',
'quoteChar'= "\"")
该表以这种方式加载数据:
LOAD DATA INPATH "hdfs:///user/rxie/SR2015.csv" INTO TABLE sr2015;
为什么只能在Hive中访问该表?当我尝试在HUE / Impala编辑器中访问它时,出现以下错误:
AnalysisException:无法解析表引用:'sr2015'
似乎没有这样的表格,但该表格确实显示在左侧面板中。
在Impala-shell中,错误如下:
错误:AnalysisException:无法加载表“ sr2015”的元数据 原因:TableLoadingException:无法加载表的元数据: sr2015原因:InvalidStorageDescriptorException:Impala没有 这种类型的支持表。原因:SerDe库 不支持“ org.apache.hadoop.hive.serde2.OpenCSVSerde”。
我一直认为Hive表和Impala表本质上是相同的,不同之处在于Impala是更高效的查询引擎。
有人可以帮忙解决吗?非常感谢。
答案 0 :(得分:0)
假设sr2015
位于名为db
的数据库中,为了使该表在Impala中可见,您都需要发布
使元数据数据库无效;
或
使元数据db.sr2015无效;
在Impala外壳中
但是,在您的情况下,原因可能是您使用的Impala版本,因为它完全不支持表格格式