【问题标题】:Hive query returns null while executing against Cassandra columnfamilyHive 查询在对 Cassandra 列族执行时返回 null
【发布时间】:2013-06-10 21:00:21
【问题描述】:

我已将 Hive 表列与相应的 Cassandra 列进行了映射。但是在执行 Hive 查询时,它会为除行键之外的所有列返回空值。

在某些 Hive 列上应用 HQL 计数时,结果为零。同时,对于行键计数,它返回此查询中的确切计数(返回为四)。可能是什么问题?为什么它为所有列返回空值?

hive> select * from Users;       
OK
21  NULL    NULL    NULL    NULL
22  NULL    NULL    NULL    NULL
20  NULL    NULL    NULL    NULL
25  NULL    NULL    NULL    NULL

【问题讨论】:

  • cassandra 列族创建 String qry="create columnfamily Users(key varchar primary key,name varchar,password varchar,message varchar,phone bigint)";

标签: hadoop mapreduce cassandra hql hive


【解决方案1】:

如果我理解了这个问题,你需要使用 GenericUDF 类来编写一个用户定义的 函数,称为 nvl()

如果您发布表格的结构,我可以更有效地回答它 对不起,如果我错了 谢谢你

【讨论】:

  • 创建外部表用户(密钥字符串,名称字符串,密码字符串,消息字符串,电话 bigint)由 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler' WITH SERDEPROPERTIES ("cassandra.columns .mapping" = ":key,:column,:value", "cassandra.ks.name" = "HiveTesting", "cassandra.ks.repfactor" = "1", "cassandra.ks.strategy" = "org. apache.cassandra.locator.SimpleStrategy”、“cassandra.cf.name”=“用户”、“cassandra.host”=“127.0.0.1”、“cassandra.port”=“9160”、“cassandra.partitioner”=“ org.apache.cassandra.dht.RandomPartitioner");
猜你喜欢
  • 2014-08-01
  • 2011-02-02
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
  • 2021-08-24
  • 2016-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多