如何将数据加载到配置单元表并使其在impala中也可访问

epggiuax  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(309)

我在 hive 里有一张table:

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;

为什么table只能在Hive中使用?当我试图在色调/ Impala 编辑器中访问它时,出现以下错误:
analysisexception:无法解析表引用:“sr2015”
这似乎是说没有这样一个表,但表显示在左面板。
在impala shell中,错误不同如下:
错误:analysisexception:未能加载表的元数据:“sr2015”原因:tableloadingexception:未能加载表的元数据:sr2015原因:invalidstoragedescriptorexception:impala不支持此类型的表。原因:不支持serde库“org.apache.hadoop.hive.serde2.opencsvserde”。
我一直认为hive表和impala表本质上是相同的,不同的是impala是一个更有效的查询引擎。
有人能帮忙解决吗?非常感谢你。

7y4bm7vi

7y4bm7vi1#

假设 sr2015 位于称为 db ,为了使该表在impala中可见,您需要
使元数据数据库失效;
或者
元数据db.sr2015失效;
Impala 壳
但是在您的例子中,原因可能是您使用的impala版本,因为它不完全支持表格式

相关问题