不显示配置单元或hbase表的钻取

aydmsdu9  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(414)

我创建了hbase和hive表来存储一些数据记录信息。我可以从命令行查询hbase和hive。
hbase:扫描mvlogger;//带9k+记录返回配置单元:从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并查看drill模式时,这就是我看到的

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

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

当我使用[schema](除了sys之外的任何一个)然后显示表时,我什么也得不到。。。例如

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)

在drill的storage options下的drill web ui(ambari)中,我看到一个已启用的hbase和hive。配置单元存储的配置如下所示。

{
  "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查询它时。。。它挂了,我在任何日志文件里都找不到任何东西。配置单元表的实际数据存储是hbase btw。
发现hbase.98与drill/hbase插件不兼容。。。http://mail-archives.apache.org/mod_mbox/incubator-drill-user/201410.mbox/%3ccaka9qdmn_fz8v8w1jkw8hvx%3dnjnae7gr-umczc9qwkvnynqjka%40mail.gmail.com%3e

cbwuti44

cbwuti441#

这可能太晚了,但对于其他人谁可能看到的职位和有这个问题。

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)

正在运行drill的用户对hbase没有访问权限。在hbase上授予drill用户访问权限,您将看到这些表。
尝试使用drill user进入hbase shell并运行“list”,它也将是空的,直到您授予权限,然后您将看到这些表。

相关问题