既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
-
需求:加载Sqoop生成的Avro的Schema文件,实现自动化建表
-
分析
- step1:代码中构建一个Hive/SparkSQL的连接
- step2:创建ODS层数据库
create database if not exists one_make_ods;
- step3:创建ODS层全量表:44张表
create external table one_make_ods_test.ciss_base_areas comment '行政地理区域表' PARTITIONED BY (dt string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat' location '/data/dw/ods/one\_make/full\_imp/ciss4.ciss\_base\_areas' TBLPROPERTIES ('avro.schema.url'='hdfs://bigdata.maynor.cn:9000/data/dw/ods/one\_make/avsc/CISS4\_CISS\_BASE\_AREAS.avsc');
- 读取全量表表名 * 动态获取表名:循环读取文件 - 获取表的信息:表的注释 * Oracle:表的信息 * 从Oracle中获取表的注释 - 获取表的文件:HDFS上AVRO文件的地址 ``` /data/dw/ods/one_make/full_imp ``` - 获取表的Schema:HDFS上的Avro文件的Schema文件地址 ``` /data/dw/ods/one_make/avsc ``` - 拼接建表字符串 * 方式一:直接相加:简单 ``` str1 = "I " str2 = "like China" str3 = str1 + str2 ``` * 方式二:通过列表拼接:复杂 - 执行建表SQL语句
-
step4:创建ODS层增量表:57张表
-
读取增量表表名
- 动态获取表名:循环读取文件
-
获取表的信息:表的注释
- Oracle:表的信息
- 从Oracle中获取表的注释
-
获取表的文件:HDFS上AVRO文件的地址
/data/dw/ods/one_make/incr_imp
- 获取表的Schema:HDFS上的Avro文件的Schema文件地址
/data/dw/ods/one_make/avsc
- 拼接建表字符串
- 执行建表SQL语句
-
-
小结
- 掌握ODS层构建的实现需求
02:ODS层构建:创建项目环境
-
目标:实现Pycharm中工程结构的构建
-
实施
- 安装Python3.7环境
- 项目使用的Python3.7的环境代码,所以需要在Windows中安装Python3.7,与原先的Python高版本不冲突,正常安装即可
- 创建Python工程
-
安装PyHive、Oracle库
-
step1:在Windows的用户家目录下创建pip.ini文件
- 例如:C:\Users\Frank\pip\pip.ini
- 内容:指定pip安装从阿里云下载
[global] index-url=http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com
-
step2:将文件添加到Windows的Path环境变量中
-
step3:进入项目环境目录
- 例如我的项目路径是:D:\PythonProject\OneMake_Spark\venv\Scripts
- 将提供的sasl-0.2.1-cp37-cp37m-win_amd64.whl文件放入Scripts目录下
- 在CMD中执行以下命令,切换到Scripts目录下
#切换到D盘 D: #切换到项目环境的Scripts目录下 cd D:\PythonProject\OneMake_Spark\venv\Scripts
-
step4:CMD中依次执行以下安装命令
# 安装sasl包 -> 使用pycharm安装,会存在下载失败情况,因此提前下载好,对应python3.7版本 pip install sasl-0.2.1-cp37-cp37m-win_amd64.whl # 安装thrift包 pip install thrift # 安装thrift sasl包One pip install thrift-sasl # 安装python操作oracle包 pip install cx-Oracle # 安装python操作hive包,也可以操作sparksql pip install pyhive
- step5:验证安装结果
- 温馨提示:其实工作中你也可以通过Pycharm直接安装
-
-
小结
- 实现Pycharm中工程结构的构建
03:ODS层构建:代码导入
-
目标:实现Python项目代码的导入及配置
-
实施
- Oracle本地驱动目录:将提供的instantclient_12_2目录放入D盘的根目录下
- **PyHive本地连接配置**:将提供的CMU目录放入C盘的根目录下![image-20210930153652800](https://img-blog.csdnimg.cn/img_convert/ee0d2adf80b1b4125547e8592718cfb0.png)
-
auto_create_hive_table包
- 创建路径包
auto_create_hive_table.cn.maynor.datatohive
* 在datatohive的init文件中放入如下代码 ``` from auto_create_hive_table.cn.maynor.datatohive import LoadData2DWD from auto_create_hive_table.cn.maynor.datatohive.CHiveTableFromOracleTable import CHiveTableFromOracleTable from auto_create_hive_table.cn.maynor.datatohive.CreateHiveTablePartition import CreateHiveTablePartition ``` * 其他包的init都放入如下内容 ``` #!/usr/bin/env python # @desc : __coding__ = "utf-8"
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)