首页 > 其他分享 >项目流程

项目流程

时间:2022-12-08 14:00:25浏览次数:56  
标签:node01 项目 root 流程 01 datax myjob 数据

本项目使用命令

Hdfs集群

[root@node01 ~]#   start-all.sh

Hive 元数据

[root@node01 ~]#   hive --service metastore

Hiveserver2远程连接

[root@node01 ~]#   hiveserver2

Redis服务

[root@node02 ~]#   redis-server /opt/yjx/redis-6.2.4/redis.conf

关闭hdfs集群

[root@node01 ~]#   stop-all.sh

Ctrl+c或者Ctrl+z关闭前台正在运行的服务

Kill -9 pid 关闭后台运行的服务

[root@node01/02/03 ~]#   init 0

 

流程设计

1. 数据生成

行为数据:

如果要使用第三版flume采集需要在opt.yjx.logdata.有web和wxapp和app三个目录,正常情况是把15天的日志(在资料里面)全放入到APP目录下.txt

 

用户行为日志数据需要在业务系统的前端(或后端)中做埋点

如果需要模拟数据生成,走这串代码

[root@node01 ~]# java -Dstart_date=2021-01-01 -Dend_date=2021-01-15 -jar

datamock.jar

业务数据:

已经在业务系统的数据库中

在node01的mysql数据库中

历史数据 

其他第三方数据

2. 数据采集汇聚

行为域数据

  1. 日志前端埋点,生成日志数据 2. 日志服务器存储为日志文件 3. Flume采集日志文件 4. 日志预处理后写入HDFS 5. 落Hive数仓ODS层

#这里优先启动下游Flume再启动上游Flume

#打开日志:-Dflume.root.logger=INFO,console

行为数据采集:

[root@node01\02\03~]cd /opt/yjx/apache-flume-1.9.0-bin/

1.[root@node03 apache-flume-1.9.0-bin]# bin/flume-ng agent -c conf -f myconf/avro2hdfs_v3.conf -n a2 -Dflume.root.logger=INFO,console

2.[root@node02 apache-flume-1.9.0-bin]# bin/flume-ng agent -c conf -f myconf/avro2hdfs_v3.conf -n a2 -Dflume.root.logger=INFO,console

3.[root@node01 apache-flume-1.9.0-bin]# bin/flume-ng agent -c conf -f myconf/file2avro_v3.conf -n a1 -Dflume.root.logger=INFO,console

然后再使用hive建外部表,加载数据形成映像

 

 

业务域数据

  1. 业务系统增删改数据库,形成业务数据 2. Sqoop/DataX/Kettle数据抽取

注: Kettle是一些传统企业比较熟悉的ETL(extract-transfer-load)工具

  1. 落Hive数仓ODS层
  2. 增量合并处理

datax使用

1.4.2. 采集资源准备

  1. 启动Hadoop环境:

[root@node01 myjob] start-all.sh

  1. 启动Hive环境:

[root@node01 myjob] nohup hive --service metastore 1>/dev/null 2>&1 &

[root@node01 myjob] nohup hive --service hiveserver2 1>/dev/null 2>&1 &

  1. 启动Beeline

[root@node01 myjob] beeline -u jdbc:hive2://node01:10000 -n root

  1. 执行建表语句

直接复制粘贴文件的内容

 

 

目录准备

这一步该镜像虚拟机已经准备完成

[root@node01 ~] cd /opt/yjx/datax

[root@node01 datax] mkdir myjob

[root@node01 datax] cd /opt/yjx/datax/myjob

 

在课件中找到 03-数据采集平台\002_code\datax-jobs 此目录

将这四个文件上传到 /opt/yjx/datax/myjob 目录下

解压jobs.zip

命令是   python /opt/yjx/datax/bin/datax.py jobs/xxxxx.json

这个xxx.json需要自定义,由于这init.sh和data_extraction脚本与数据不兼容所以需要更改xxxx.json的内容

 

 

将这个/dt=${dt}删除即可使用

然后放到相应目录下使用命令

以为例

将该json文件放入当前目录下

使用以下命令

[root@node01 myjob]# python /opt/yjx/datax/bin/datax.py  ods_brand_full.json

Myjob可随意

 

然后运行完在hdfs上查看需要建立dt=2021-01-01

然后

在datagrip中使用MSCK REPAIR TABLE  ods.ods_yjx_brand_full; 自动查找分区

或者使用alter table ods.ods_yjx_brand_full  partition (dt='2021-01-01'); 手动创建分区

然后查看表,数据入仓成功

 

1.4.3. 批量采集

这边我们的数据只有(2021-01-01)~(2021-01-15)的数据,所以init.sh脚本只会采集这15天的数据

[root@node01 myjob] sh init.sh

1.4.4. 单天采集

这里我们需要使用data_extraction.sh这个脚本

[root@node01 myjob] sh data_extraction.sh 2021-01-01 2021-01-02

 

 

3. 数据仓库&用户画像

数据仓库

核心技术选型:Hive(数据仓库基础设施)

计算引擎:MapReduce + SparkSQL

存储系统:底层存储HDFS, 产出存储(hbase,elasticsearch,clickhouse,kylin,mysql)

用户画像

模型设计

数仓分层运算

各类数据的产出

4. 数据服务& OLAP分析平台

用户明细数据(用户画像标签明细,用户行为序列明细)入库HBase(或者Elastic Search),然后

开发数据访问接口服务(RESTful服务)给上层应用

固定报表查询:需要查询的固定报表数据,入库Mysql/HBase(日新、日活、PV、留存、核心业务

转化、关键路径转化、关键事件报表,GMV日报周报月报等)

规范模型自助多维分析:利用Kylin来提供多维分析服务

用户行为自助分析服务:要分析的数据,就放在HDFS上,由Presto提供查询支撑(或Clickhouse)

(或Impala)

5. 其他辅助系统

Azkaban/Oozie任务调度系统

Atlas元数据和血缘追溯管理(数据治理)

其他自研系统

项目遇到的问题

1.Standby namenode无法启动 这个可以解决没有standby的问题

https://blog.csdn.net/gezhu5826/article/details/84202323

2.Hive无法删表问题:(待定)

mysql -uroot -p123456

alter database metastore character set latin1;

等等

 

标签:node01,项目,root,流程,01,datax,myjob,数据
From: https://www.cnblogs.com/flyer-ovo/p/16965892.html

相关文章

  • iOS app上架app store流程详解​
     前提条件​在有效期内的苹果开发者账号(类型为个人或者公司账号)。还有一种情况,就是你的AppleID被添加到公司开发者账号团队里面,这样也是可以的,但是需要叫管理员给你开......
  • iOS AppStore上架流程图文详解​
     1、首先得注册AppleDeveloper的开发者账号,最后如果要上架苹果商店,这个账号是要交年费的,核算下来大概600多元人民币。​2、接下来要登录AppleDeveloper网站,点击“Acco......
  • 软件工程心理学之3---甲方项目负责人 PK 乙方
    (注意:本写列文章,未经本人同意,谢绝转载,版权所有,如需转载,请与本人联系,谢谢)      上周的系列之二(主要是闲聊了关于甲方项目负责人如何和甲方的领......
  • 项目管理和“登门槛效应”
    登门槛效应是指一旦接受了他人的一个微不足道的要求,为了避免认知上的不协调,或想给他人以前后一致的印象,就有可能接受更大的要求。这种现象,犹如登门槛时要一级台阶一级......
  • 线程池工作流程
     CorePoolSize:核心线程数。MaximumPoolSize:最大线程数。WorkQueue:工作队列。 流程创建线程池后,等待提交过来的任务请求。调用execute()方法添加一个请求......
  • app提交上架最新流程 ios​
    ​一、上架基本需求资料1、苹果开发者账号(公司已有可以不用申请,需要开通开发者功能,每年99美元)​2、开发好的APP​二、证书上架版本需要使用正式的证书​1、创建证书​​A......
  • iOS AppStore上架流程图文详解​
    1、首先得注册AppleDeveloper的开发者账号,最后如果要上架苹果商店,这个账号是要交年费的,核算下来大概600多元人民币。​2、接下来要登录AppleDeveloper网站,点击“Account”......
  • ubuntu部署nodejs项目
    安装nodejsaptupdatecurl-sLhttps://deb.nodesource.com/setup_16.x|sudobash-sudoapt-yinstallnodejs aptinstall mysql-servermysql-uroot-pCR......
  • app提交上架最新流程 ios​
     一、上架基本需求资料1、苹果开发者账号(公司已有可以不用申请,需要开通开发者功能,每年99美元)​2、开发好的APP​二、证书上架版本需要使用正式的证书​1、创建证书......
  • 好玩的文字流程图:flowchart-fun
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......