1

从昨天开始,我一直在试图弄清楚为什么我的表创建不起作用。由于我无法将我的 Impala 链接到我的 Hbase,我无法在我的 twitter 流上进行查询:/

对于 SerDe 属性,我是否需要像 Hive 这样的特殊 JAR?

这是我的命令:

创建外部表 HB_IMPALA_TWEETS(id int、id_str 字符串、文本字符串、created_at 时间戳、geo_latitude double、geo_longitude double、user_screen_name 字符串、user_location 字符串、user_followers_count 字符串、user_profile_image_url 字符串)
由 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 存储
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,tweet:id_str,tweet:text,tweet:created_at,tweet:geo_latitude,tweet:geo_longitude, user:screen_name,user:location,user:followers_count,user:profile_image_url " ) TBLPROPERTIES("hbase.table.name" = "tweets");

但我得到了一个错误:stored by:

查询:create EXTERNAL TABLE HB_IMPALA_TWEETS (id int, id_str string, text string, created_at timestamp, geo_latitude double, geo_longitude double, user_screen_name string, user_location string, user_followers_count string, user_profile_image_url string) 由'org.apache.hadoop.hive.hbase 存储。 HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,tweet:id_str,tweet:text,tweet:created_at,tweet:geo_latitude,tweet:geo_longitude, user:screen_name,user:location,user:followers_count,user :profile_image_url" ) TBLPROPERTIES("hbase.table.name" = "tweets") 错误:AnalysisException:第 1 行中的语法错误:...image_url 字符串)'org.apache.hadoop.hive.h...存储

遇到:BY

预期:如

引起:异常:语法错误

有关信息,我关注了这个页面: https ://github.com/AronMacDonald/Twitter_Hbase_Impala/blob/master/README.md

谢谢你帮助我:)

4

1 回答 1

2

好吧,Impala 似乎仍然不支持 SerDe(序列化/反序列化)。

“您使用 Hive shell 在 Impala 端创建表,因为 Impala CREATE TABLE 语句当前不支持自定义 SerDes 和这些表所需的一些其他语法:您使用 STORED BY 'org.apache 将其指定为 HBase 表Hive CREATE TABLE 语句中的 .hadoop.hive.hbase.HBaseStorageHandler' 子句。”

因此,只需在 hive shell 或 hue hive 上运行命令,然后在 impala 中键入“invalidate metadata”,然后您就可以看到带有“show tables”的表。

因此,对于这一部分,问题似乎已解决。

于 2014-06-25T12:35:36.097 回答