在hive中使用parquet (CDH4.3)
程序员文章站
2022-04-13 20:17:44
...
hadoop版本 cdh4.3 使用impala创建parquet表后,查询会出错。 [impala:21000] SELECT * FROM foo;Query: SELECT * FROM fooERROR: AnalysisException: Failed TO LOAD metadata FOR TABLE: DEFAULT.fooCAUSED BY: TableLoadingException: Failed TO LOAD met
hadoop版本 cdh4.3
使用impala创建parquet表后,查询会出错。
[impala:21000] > SELECT * FROM foo; Query: SELECT * FROM foo ERROR: AnalysisException: Failed TO LOAD metadata FOR TABLE: DEFAULT.foo CAUSED BY: TableLoadingException: Failed TO LOAD metadata FOR TABLE: foo CAUSED BY: MetaException: org.apache.hadoop.hive.serde2.SerDeException SerDe parquet.hive.serde.ParquetHiveSerDe does NOT exist
原因是hive并没有这些lib,下载它们并放入/opt/cloudera/parcels/CDH/lib/hive/lib目录(我是使用cloudera manager部署的),创建脚本下载
#!/bin/sh #parquet-pig parquet-scrooge parquet-test-hadoop2 parquet-thrift parquet-avro parquet-cascading ? for f in parquet-column parquet-common parquet-encoding parquet-generator parquet-hadoop parquet-hive do curl -O http://repo1.maven.org/maven2/com/twitter/${f}/1.2.4/${f}-1.2.4.jar #curl -O http://oss.sonatype.org/service/local/repositories/releases/content/com/twitter/${f}/1.2.4/${f}-1.2.4.jar done curl -O http://repo1.maven.org/maven2/com/twitter/parquet-format/1.0.0/parquet-format-1.0.0.jar
然后把他们拷贝进去
cp parquet-* /opt/cloudera/parcels/CDH/lib/hive/lib
可能要重启metastore,然后在impala中刷新metastore
INVALIDATE METADATA;
在impala修改parquet表
create table test2 (name STRING) STORED AS PARQUETFILE;
插入数据
insert into test2 select * from test;
参考
https://issues.cloudera.org/browse/IMPALA-574
原文地址:在hive中使用parquet (CDH4.3), 感谢原作者分享。
推荐阅读
-
在JavaScript中处理字符串之link()方法的使用
-
solr在java中的使用实例代码
-
bitmap 索引和 B-tree 索引在使用中如何选择
-
在Javascript中处理数组之toSource()方法的使用
-
在JavaScript中操作数组之map()方法的使用
-
在JavaScript中处理数组之reverse()方法的使用
-
在JavaScript中操作时间之getMonth()方法的使用
-
在JavaScript中处理时间之getHours()方法的使用
-
marginbottom在安卓中是什么意思(子元素marginBottom使用方法)
-
mysql unique key在查询中的使用与相关问题