目前我使用的是Cassandra 2.1.5,Hive 1.2.1和Hadoop 2.7.1。我尝试使用本教程将Cassandra连接到Hive:
http://frommyworkshop.blogspot.com/2013/09/real-time-data-processing-with.html
但似乎我陷入了创建外部表:
CREATE EXTERNAL TABLE test.pokes(foo int,bar string)STORED BY'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'with SERDEPROPERTIES(“cassandra.host”=“127.0.0.1”,“cassandra.port “=”9160“,”cql.primarykey“=”foo“,”comment“=”check“,”read_repair_chance“=”0.2“,”dclocal_read_repair_chance“=”0.14“,”gc_grace_seconds“=”989898“,”bloom_filter_fp_chance “=”0.2“,”compaction“=”{'class':'LeveledCompactionStrategy'}“,”replicate_on_write“=”false“,”caching“=”all“);
有这样的错误:
失败:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。 org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.initSerdeParams(Lorg /阿帕奇/ hadoop的/ CONF /配置; Ljava / util的/属性; Ljava /郎/字符串;)Lorg /阿帕奇/ hadoop的/蜂巢/ serde2 /懒惰/ LazySimpleSerDe $ SerDeParameters;
有谁知道如何解决这个问题?
答案 0 :(得分:2)
修复此hive-cassandra存储处理程序问题可能很乏味。
您在shell上发现的错误日志可能总是没有用。
请参阅主要位于/tmp/<user-id>/hive.log
的配置单元日志文件,以获取有关失败的实际详细错误消息。
大多数原因可能是因为错误的cassandra主机名/端口,密钥空间,密钥配置等。
希望这有帮助。
答案 1 :(得分:0)
2013年博客中关于Hive和Cassandra的信息已经过时。例如,'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'在前一段时间被'org.apache.hadoop.hive.cassandra.cql3.CqlStorageHandler'取代。我认为你需要configure BYOH使用DSE。