我有一个带750gb数据的hbase。hbase中的所有数据都是时间序列传感器数据。而且,我的行键设计是这样的;设备ID、传感器ID、时间戳我想准备hbase中的所有数据进行批处理(例如,hdfs上的csv格式)。但是hbase中有很多数据。我可以在不部分获取数据的情况下使用配置单元准备数据吗?因为,如果要使用sensor id(scan query with start end row)获取数据,每次都必须指定start和end row。我不想这样做。
eulz3vhy1#
您可以尝试使用hive hbase集成,然后 map hbase table 数据到 hive table .然后通过使用配置单元hbase表,我们可以创建hbase表到常规配置单元表(orc、parquet等)的完全转储。 Step-1:Create HBase-Hive Integrated table:hive> CREATE EXTERNAL TABLE <db_name>.<hive_hbase_table_name> (key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "<hbase_table_name>");Step-2:Create Hive Dump of Hbase table:hive> create table <db_name>.<table_name> stored as orc as select * from <db_name>.<hive_hbase_table_name>;Step-3: Exporting to CSV format: ```hive> INSERT OVERWRITE DIRECTORY <hdfs_directory>ROW FORMAT DELIMITED FIELDS TERMINATED BY ','select * from <db_name>.<hive_hbase_table_name>;
map hbase table
hive table
Step-1:Create HBase-Hive Integrated table:
hive> CREATE EXTERNAL TABLE <db_name>.<hive_hbase_table_name> (key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "<hbase_table_name>");
Step-2:Create Hive Dump of Hbase table:
hive> create table <db_name>.<table_name> stored as orc as select * from <db_name>.<hive_hbase_table_name>;
Step-3: Exporting to CSV format:
有关导出配置单元表的更多详细信息/选项,请参阅此链接。
1条答案
按热度按时间eulz3vhy1#
您可以尝试使用hive hbase集成,然后
map hbase table
数据到hive table
.然后通过使用配置单元hbase表,我们可以创建hbase表到常规配置单元表(orc、parquet等)的完全转储。
Step-1:Create HBase-Hive Integrated table:
hive> CREATE EXTERNAL TABLE <db_name>.<hive_hbase_table_name> (key int, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") TBLPROPERTIES ("hbase.table.name" = "<hbase_table_name>");
Step-2:Create Hive Dump of Hbase table:
hive> create table <db_name>.<table_name> stored as orc as select * from <db_name>.<hive_hbase_table_name>;
Step-3: Exporting to CSV format:
```hive> INSERT OVERWRITE DIRECTORY <hdfs_directory>
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
select * from <db_name>.<hive_hbase_table_name>;