大数据综合实验(二)

HiveMySQL、HBase数据互导

Hive预操作

创建临时表user_action

hive> create table dblab.user_action(id STRING,uid STRING, item_id STRING, behavior_type STRING, item_category STRING, visit_date DATE, province STRING) COMMENT 'Welcome to XMU dblab! ' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;

确认这个数据文件在HDFS中确实已经被创建

cd /usr/local/hadoop
./bin/hdfs dfs -ls /user/hive/warehouse/dblab.db/user_action

将bigdata_user表中的数据插入到user_action

hive> INSERT OVERWRITE TABLE dblab.user_action select * from dblab.bigdata_user;

查询上面的插入命令是否成功

hive> select * from user_action limit 10;

使用Sqoop将数据从Hive导入MySQL

将前面生成的临时表数据从Hive导入到MySQL中

登录MySQL

mysql –u root –p 

执行上面命令后,就进入mysql>命令提示符状态

创建数据库

mysql> show databases; #显示所有数据库
mysql> create database dblab; #创建dblab数据库
mysql> use dblab; #使用数据库

注意:使用下面的命令查看数据库编码:

mysql>show variables like "char%";


请确认当前编码格式为utf-8,否则无法导入中文。

若编码格式需要修改,参照博客:https://blog.csdn.net/weixin_42208645/article/details/80857416

创建表

mysql> CREATE TABLE `dblab`.`user_action` (`id` varchar(50),`uid` varchar(50),`item_id` varchar(50),`behavior_type` varchar(10),`item_category` varchar(50), `visit_date` DATE,`province` varchar(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> exit #创建成功后退出
导入数据
cd /usr/local/sqoop
./bin/sqoop export --connect jdbc:mysql://localhost:3306/dblab --username root --password hadoop --table user_action --export-dir '/user/hive/warehouse/dblab.db/user_action' --fields-terminated-by '\t'; #导入命令

如果输出类似以下信息,表示导入成功


查看MySQL中user_action表数据

mysql -u root -p
mysql> use dblab;
mysql> select * from user_action limit 10;


至此,从Hive导入数据到MySQL中的操作,顺利完成。

使用Sqoop将数据从MySQL导入HBase

使用Hadoop集群、MySQL服务、HBase服务
cd /usr/local/hbase
./bin/start-hbase.sh

启动HBase shell

cd /usr/local/hbase
./bin/hbase shell


解决方法:

1)原因:运行hbase(zookeeper)的用户无法写入zookeeper文件,导致

  • 4
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值