Hue+Dolphinscheduler+Hive+ES+Waterdrop基于混合计算demo

网友投稿 319 2022-11-18

Hue+Dolphinscheduler+Hive+ES+Waterdrop基于混合计算demo

目录

​​基于混合计算demo 1​​

​​1. 创建hdfs公有库和私有库(运维操作) 2​​

​​1.1. 创建hdfs公有库并授予可读可写权限 2​​

​​1.2. 创建hdfs私有库 2​​

​​2. 创建数据库(运维操作) 3​​

​​3. 授权(运维操作) 4​​

​​3.2. 登入hue超级管理员账号 4​​

​​4. 创建工作流(kudu-hive-mysql) 7​​

​​4.1. 创建start工作流 7​​

​​4.2. 创建ods层工作流 8​​

​​4.3. 创建dws层工作流 10​​

​​4.4. 创建dm层工作流 13​​

​​4.5. 创建ads层工作流 15​​

​​4.6. 创建waterDrop工作流 17​​

​​4.7. 执行waterDrop 20​​

​​4.8. 数据验证 20​​

​​5. 创建工作流(es) 22​​

​​5.1. Es建索引 22​​

​​5.2. 创建start工作流 24​​

​​5.3. 创建waterdrop工作流 24​​

​​5.4. 数据验证 25​​

​​6. 创建工作流(kafka) 27​​

​​6.1. 创建waterdrop工作流 27​​

​​6.2. 数据验证 28​​

创建hdfs公有库和私有库(运维操作)

创建hdfs公有库并授予可读可写权限

hdfs dfs -mkdir -p /dw/public

hdfs dfs -chmod 777 /dw/public

创建hdfs私有库

hdfs dfs -mkdir -p /dw/private

创建数据库(运维操作)

create database private_database;

create database public_database;

授权(运维操作)

Hive权限

创建角色,授予角色和组然后分配数据库权限

create role bi_user;

grant role bi_user to group bi_user;

grant ALL on database db_test to role bi_user;

grant ALL on database public_database to role bi_user;

Impala权限

创建角色,授予角色和组然后分配数据库权限

grant role bi_user to group bi_user;

grant ALL on database db_test to role bi_user;

grant ALL on database public_database to role bi_user;

登入hue超级管理员账号

安全性-角色-选中角色-进行授权

创建工作流(kudu-hive-mysql)

start->ods-> dws-> dm->ads ->waterdrop ->mysql

添加工作流

创建start工作流

创建ods层工作流

创建ods_kudu表

CREATE TABLE ods_test

(

id int,

int_value int,

bigint_value int,

ds STRING,

timestamp_value int,

bool_value int,

PRIMARY KEY (id)

)

PARTITION BY HASH (id) PARTITIONS 2

STORED AS KUDU

;

添加工作流

创建dws层工作流

添加hive数据源

创建dws hive外部表

CREATE external TABLE dws_test_hive

(

id int,

int_value int,

bigint_value int,

timestamp_value int,

bool_value int)

PARTITIONED BY(ds string)

row format delimited

fields terminated by','

stored as PARQUET

location'/dw/public/dws_test_hive';

添加工作流

插入sql

insert overwrite table public_database.dws_test_hive PARTITION(ds=${ds})

select

id,

int_value,

bigint_value,

timestamp_value,

bool_value

from default.ods_test where ds=${ds}

创建dm层工作流

创建dm hive外部表

CREATE external TABLE dm_test_hive

(

id int,

int_value int,

bigint_value int,

timestamp_value int,

bool_value int)

PARTITIONED BY(ds string)

row format delimited

fields terminated by','

stored as PARQUET

location'/dw/public/dm_test_hive';

创建dm工作流

插入sql语句

insert overwrite table public_database.dm_test_hive PARTITION(ds=${ds})

select

id,

int_value,

bigint_value,

timestamp_value,

bool_value

from public_database.dws_test_hive where ds=${ds}

创建ads层工作流

创建ads hive外部表

CREATE external TABLE ads_test_hive

(

id int,

int_value int,

bigint_value int,

timestamp_value int,

bool_value int)

PARTITIONED BY(ds string)

row format delimited

fields terminated by','

stored as PARQUET

location'/dw/public/ads_test_hive';

创建ads工作流

插入sql语句

insert overwrite table public_database.ads_test_hive PARTITION(ds=${ds})

select

id,

int_value,

bigint_value,

timestamp_value,

bool_value

from public_database.dm_test_hive where ds=${ds}

创建waterDrop工作流

T3cx账号授权(运维操作授权)

要给工作流账号(t3cx)授予数据库权限否则会报错

Permission denied: user=t3cx, access=WRITE, inode="/user/hive/warehouse/public_database.db":hive:hive:drwxrwx--x

创建waterDrophive-mysql工作流

添加mysql数据源

添加hive2-mysql参数

添加waterdrop配置

添加sql语句(in.pre_sql)

添加hive表(in.result_table_name)

添加hive表(in.table_name)

输出mysql表(out.table)

输出保存模式(out.save_mode)

执行waterDrop

执行任务流中的waterDrop任务,使数据从Hive同步到Kudu

数据验证

Hue上进行hive表验证

waterDrop 执行完成后,HUE hive相应库表进行查询验证

select * from public_database.ads_test_hive

Mysql表验证

waterDrop 执行完成后,mysql相应库表进行查询验证

select * from test_mysql

创建工作流(es)

Es建索引

PUT es_test

{

"settings": {

"number_of_shards": "4",

"number_of_replicas": "1",

"refresh_interval": "1s"

},

"mappings": {

"_doc": {

"dynamic": "false",

"properties": {

"@timestamp": {

"type": "date",

"format": "yyyy-MM-dd HH:mm:ss||strict_date_optional_time||epoch_millis"

},

"id": {

"type": "keyword"

},

"int_value":{

"type": "keyword"

},

"bigint_value": {

"type": "keyword"

},

"timestamp_value":{

"type": "keyword"

},

"bool_value": {

"type": "keyword"

}

}

}

}

}

创建start工作流

创建waterdrop工作流

添加hive库表:ads_test_hive(in.result_table_name)​

添加hive表:ads_test_hive(in.table_name)​

添加es索引:es_test(out.index)​

添加es用户和密码​

数据验证

创建工作流(kafka)

创建waterdrop工作流

out.topic:t3_ts_kudu_adsrt_fin_hitch_no_withdraw_ds

out.producer.bootstrap.servers:172.16.1.43:9092,172.16.1.44:9092,172.16.1.45:9092

数据验证

Kafka验证数据

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:默认连接器的UML图和流程分析
下一篇:MyBatis如何使用PageHelper实现分页查询
相关文章

 发表评论

暂时没有评论,来抢沙发吧~