【发布时间】:2015-11-16 19:33:02
【问题描述】:
最新的 EMR 4.1.0 捆绑包包含 Hive 1.0.0 和 Spark 1.5.0,Hive 1.0.0 使用 parquet-hadoop-bundle-1.5.0.jar 而 Spark 使用 parquet-hadoop-1.7.0.jar
不幸的是parquet 1.5.0版本无法读取parquet 1.7.0生成的文件。
我尝试在 Hive shell 中使用 add jar parquet-hive-bundle-1.7.0.jar 但没有成功,Hive 仍然使用捆绑的旧 Parquet jar。
然后我尝试用较新的 jar 替换旧 jar,但是即使使用命令 sudo find / "*parquet*.jar",我也找不到任何与 parquet 相关的 jar。
但是我将parquet-hive-bundle-1.7.0.jar 复制到/usr/lib/hive/lib 但它不起作用,Hive 仍然使用旧的 parquet jar 并且无法读取我的 parquet 文件。通常这种方式适用于 Cloudera 发行版。
所以我的问题是,镶木地板罐子在哪里,如何用更新的版本替换它?
【问题讨论】:
-
Hive 1.0.0 无法读取 Spark 生成的镶木地板面临同样的问题。你找到解决办法了吗?
-
两种解决方案:1.等待EMR团队将Hive升级到1.0.1; 2. 使用 Cloudera CDH 设置另一个 Hive 集群,在此解决方案中,我使用 EMR 集群运行 Spark 作业并使用 Cloudera Hive 集群运行 SQL 查询
-
感谢您的回复。 Spark 附带的 thriftserver 怎么样?它基于更新版本的 hive。你试过了吗?
-
这是第三种方案,我还没试过,你可以试一试
标签: amazon-web-services hive emr