将Cassandra与Hive连接起来

时间:2015-08-25 06:13:45

标签: hadoop cassandra hive

目前我使用的是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;

有谁知道如何解决这个问题?

2 个答案:

答案 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。