hbase组合hive和sqoop实现导数据到mysql
程序员文章站
2024-04-06 14:04:55
...
hbase结合hive和sqoop实现导数据到mysql hive整合hbase表的两点好处: 1.实现数据导入到MYSQL。 2.实现hbase表转换为另外一张hbase表。 三个操作环节: 1.hbase关联hive作为外部表: CREATE EXTERNAL TABLE hive_device_app(row_key string,genera_type strin
hbase结合hive和sqoop实现导数据到mysqlhive整合hbase表的两点好处:
1.实现数据导入到MYSQL。
2.实现hbase表转换为另外一张hbase表。
三个操作环节:
1.hbase关联hive作为外部表:
CREATE EXTERNAL TABLE hive_device_app(row_key string,genera_type string,install_type string,label string,meid string,model string,pkg_name string,specific_type string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:genera_type,cf:install_type,cf:label,cf:meid,cf:model,cf:pkg_name,cf:specific_type") TBLPROPERTIES("hbase.table.name" = "tb_yl_device_app_info1");
2.hbase真正关联hive,hive的插入更新等操作直接影响hbase中的数据
CREATE TABLE hbase_device_app(row_key string,genera_type string,install_type string,label string,meid string,model string,pkg_name string,specific_type string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf:genera_type,cf:install_type,cf:label,cf:meid,cf:model,cf:pkg_name,cf:specific_type") TBLPROPERTIES("hbase.table.name" = "tb_yl_device_app_info2");
3.创建一张hive表
CREATE TABLE hive_device_app_real(row_key string,genera_type string,install_type string,label string,meid string,model string,pkg_name string,specific_type string)
4.外部表数据导入hive实表
insert overwrite table hive_device_app_real select * from hive_device_app
5.sqoop导出hive的数据到mysql
sqoop export --connect jdbc:mysql://Hadoop48/toplists -m 1 --table hive_device_app_real --export-dir /user/hive/warehouse/hive_device_app_real/000000_0 --input-null-string "\\\\N" --input-null-non-string "\\\\N" --input-fields-terminated-by "\\01" --input-lines-terminated-by "\\n"
6.habse(关联hive)中一张表转到另外一张表当然可以利用hive的内置函数实现数据处理
insert overwrite table another_hive_hbase_related_table select * from hbase_device_app
导出hbase中数据到mysql需要经过步骤:1345
hbase中一张表到另外一张表(中间可以利用hive内置函数做数据处理):226