大数据采集

打开四台虚拟机开启集群

连接hadoop1数据库

导入三个sql

docker images 查看镜像

启动hive   创建库表create database data;

创建表的脚本(修改库名表名表字段)

修改配置文件log /datax/job

数据库密码和字段名

库名和hadoop1的网址192.168.174.10还有表名

Hadoop2的网址192.168.174.11

Path  desc formatted order_status_log20200901;

分隔符变成,修改字段

执行命令:

hdfs haadmin -getServiceState nn1

hdfs haadmin -getServiceState nn2

看一下active状态的namenode是哪台服务器

defaultFS后面要配置的是active的namenode的ip地址

手动添加数据

python /root/datax/bin/datax.py /root/datax/job/log.json

自动化采集 cd /sh 创建date文本 里面加入日期和log中日期保持一致

脚本(注意修改表名前缀)

创建分区表 注意use库

create table order_status_log(id string,order_id string,order_status string,operate_time string) partitioned by (day string) row format delimited fields terminated by ',';

将三个hive表中的数据导入到分区表

导入01的数据到分区表中注意修改库名表名

sql:

hive> insert into table order_status_log partition(day="2020-09-01") select * from data.order_status_log20200901;

导入02的数据到分区表中

sql:

hive> insert into table order_status_log partition(day="2020-09-02") select * from data.order_status_log20200902;

导入03的数据到分区表中

sql:

hive> insert into table order_status_log partition(day="2020-09-03") select * from data.order_status_log20200903;

3)在mysql中创建一个表用来存储结果数据的

CREATE TABLE `month_count`(

`day` DATE,

`count` INT

)ENGINE=INNODB CHARSET=utf8;

4)写脚本

a)将9月的hive表中的数据一次性导入hive的分区

创建容器

docker run -itd --name=mysql-test -p 8888:3306 -e MYSQL_ROOT_PASSWORD=123456 1d7aba917169  /bin/bash

查看容器

docker ps –a

进入容器

docker exec -it mysql-test /bin/bash

开启MySQL服务

service mysql start

进入mysql

mysql -uroot –p

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

FLUSH PRIVILEGES;

连接sqlyog 注意修改端口号

执行脚本

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值