2014-11-04 69 views
1

我創建既是HBase的和蜂巢表來存儲一些數據記錄信息蜂巢或HBase的表。我可以從命令行查詢hbase和hive都沒有問題。鑽不顯示

HBase的:掃描MVLogger; //回來了9K加記錄 蜂巢:SELECT * FROM MVLogger; //回來了9K加記錄

我HBase的表定義是

'MVLogger', {NAME => 'dbLogData', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW',  REPLICATION_SCOPE => '0', VERSIONS true                
    => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65                  
536', IN_MEMORY => 'false', BLOCKCACHE => 'true'} 

我的蜂巢(外部)表的定義是:

CREATE EXTERNAL TABLE `MVLogger`(
`rowid` int, 
`ID` int, 
`TableName` string, 
`CreatedDate` string, 
`RowData` string, 
`ClientDB` string) 
ROW FORMAT SERDE 
'org.apache.hadoop.hive.hbase.HBaseSerDe' 
STORED BY 
'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ( 
'serialization.format'='1', 
'hbase.columns.mapping'=':key,dbLogData:ID,dbLogData:TableName,dbLogData:CreatedDate,dbLogData:RowData,dbLogData:ClientDB') 
TBLPROPERTIES (
'hbase.table.name'='MVLogger') 

當我使用sqlline,並期待在鑽模式這是我看到

0: jdbc:drill:zk=ip-*.compu> show schemas; 

+-------------+ 
| SCHEMA_NAME | 
+-------------+ 
| hive.default | 
| dfs.default | 
| dfs.root | 
| dfs.tmp  | 
| cp.default | 
| hbase  | 
| sys   | 
| INFORMATION_SCHEMA | 
+-------------+ 

,當我做了使用[方案](任何人,但SYS),然後d Ø一個節目表,我得到什麼?例如

0: jdbc:drill:zk=ip-*.compu> use hbase; 
+------------+------------+ 
|  ok  | summary | 
+------------+------------+ 
| true  | Default schema changed to 'hbase' | 
+------------+------------+ 
1 row selected (0.071 seconds) 
0: jdbc:drill:zk=ip-*.compu> show tables; 
+--------------+------------+ 
| TABLE_SCHEMA | TABLE_NAME | 
+--------------+------------+ 
+--------------+------------+ 
No rows selected (0.37 seconds) 

在所存儲選項鑽取的Web UI(ambari)爲鑽我看到一個啓用的HBase和蜂巢。配置單元存儲的配置如下。

{ 
    "type": "hive", 
    "enabled": true, 
    "configProps": { 
    "hive.metastore.uris": "thrift://ip-*.compute.internal:9083", 
    "hive.metastore.warehouse.dir": "/apps/hive/warehouse/", 
    "fs.default.name": "hdfs://ip-*.compute.internal:8020/", 
    "hive.metastore.sasl.enabled": "false" 
    } 
} 

爲什麼我無法查詢hive/hbase的任何想法?

更新:表格現在顯示了在蜂巢模式,但是當我試圖用它查詢一個簡單的SELECT * FROM ......它只是掛起,我找不到任何日誌文件的任何東西。 hive表的實際數據存儲是hbase BTW。

找到了HBase的0.98是沒有用電鑽/ HBase的插件兼容... http://mail-archives.apache.org/mod_mbox/incubator-drill-user/201410.mbox/%3CCAKa9qDmN_fZ8V8W1JKW8HVX%3DNJNae7gR-UMcZC9QwKVNynQJkA%40mail.gmail.com%3E

+0

也,我不能讓HBase的表通過鑽露面。這是我的鑽取數據源配置文件。 { 「類型」: 「HBase的」, 「配置」:{ 「hbase.zookeeper.quorum」: 「IP - *,IP - *,IP-*」, 「hbase.zookeeper.property.clientPort 「: 「2181」 }, 「已啓用」:真 } – user2970770 2014-11-05 02:12:16

回答

-1

這也許爲時已晚,但對於其他人誰可以看到該帖,並有這個問題。

0: jdbc:drill:zk=ip-*.compu> use hbase; 
+------------+------------+ 
|  ok  | summary | 
+------------+------------+ 
| true  | Default schema changed to 'hbase' | 
+------------+------------+ 
1 row selected (0.071 seconds) 
0: jdbc:drill:zk=ip-*.compu> show tables; 
+--------------+------------+ 
| TABLE_SCHEMA | TABLE_NAME | 
+--------------+------------+ 
+--------------+------------+ 
No rows selected (0.37 seconds) 

正在運行鑽取的用戶在hbase上沒有訪問權限。在hbase上授予鑽取用戶訪問權限,您將看到表格。

嘗試使用鑽取用戶轉到hbase shell並運行「list」它也將是空的,直到您授予權限,那麼您將看到這些表。