Presto无法获取HIVE表中的内容。

3

我的环境:

hadoop 1.0.4

hive 0.12

hbase 0.94.14

presto 0.56

所有的软件包都安装在伪分布式模式下。这些服务并不在本地主机上运行,而是在拥有静态IP的主机名上运行。

presto配置文件:

coordinator=false
datasources=jmx,hive
http-server.http.port=8081
presto-metastore.db.type=h2
presto-metastore.db.filename=/root
task.max-memory=1GB
discovery.uri=http://<HOSTNAME>:8081

在presto cli中,我可以成功地获取hive中的表:

presto:default> show tables;
       Table
-------------------
ht1
k_business_d_
k_os_business_d_
...
tt1_
(11 rows)

Query 20140114_072809_00002_5zhjn, FINISHED, 1 node
Splits: 2 total, 2 done (100.00%)
0:11 [11 rows, 291B] [0 rows/s, 26B/s]

但是当我尝试从任何表中查询数据时,结果总是为空:(没有错误信息)
presto:default> select * from k_business_d_;
 key | business | business_name | collect_time | numofalarm | numofhost | test
-----+----------+---------------+--------------+------------+-----------+------
(0 rows)

Query 20140114_072839_00003_5zhjn, FINISHED, 1 node
Splits: 1 total, 1 done (100.00%)
0:02 [0 rows, 0B] [0 rows/s, 0B/s]

如果我在HIVE中执行相同的SQL,结果显示表中有1行。
hive> select * from k_business_d_;
OK
9223370648089975807|2   2       测试机       2014-01-04 00:00:00     NULL    1.0         NULL
Time taken: 2.574 seconds, Fetched: 1 row(s)

为什么Presto不能从Hive表中检索数据?

你的表使用什么文件格式?请在Hive中展示“DESCRIBE FORMATTED table”的输出。 - David Phillips
感谢您的帮助。这是一个在HBASE上的外部表。 - user3189447
hive> DESCRIBE FORMATTED k_business_d_; 好的

列名 数据类型 注释

key 字符串 来自反序列化器 business 整型 来自反序列化器 business_name 字符串 来自反序列化器 collect_time 字符串 来自反序列化器 numofalarm 双精度浮点数 来自反序列化器 numofhost 双精度浮点数 来自反序列化器 test 双精度浮点数 来自反序列化器
- user3189447
#详细表信息 数据库:default 所有者:root 创建时间:2014年1月9日星期四16:04:37 CST 最后访问时间:未知 保护模式:无 保留:0 位置:hdfs://allinone:9000/user/hive/warehouse/k_business_d_ 表类型:EXTERNAL_TABLE 表参数: EXTERNAL TRUE hbase.table.name K_BUSINESS_D storage_handler org.apache.hadoop.hive.hbase.HBaseStorageHandler transient_lastDdlTime 1389254677 - user3189447

存储信息

SerDe 库: org.apache.hadoop.hive.hbase.HBaseSerDe 输入格式: org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat 输出格式: org.apache.hadoop.hive.ql.io.HivePassThroughOutputFormat
- user3189447
压缩:否 桶数量:-1 桶列:[] 排序列:[] 存储描述参数: hbase.columns.mapping :key,DIM:BUSINESS,DIM:BUSINESS_NAME,DIM:COLLECT_ TIME,KPI:NUMOFALARM,KPI:NUMOFHOST,KPI:TEST serialization.format 1 - user3189447
1个回答

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接