开发者学堂课程【2020版大数据实战项目之DMP广告系统(第六阶段):商圈库_功能_环境代码编写】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/681/detail/11830
商圈库_功能_环境代码编写
内容介绍:
一.创建文件
二.做 main功能的目的
三.做 spark session 程序的步骤
四.如何创建 spark session
前面做了非常漫长的铺垫,也介绍了许多功能,其实去讲那些知识点也不单纯是为了商圈库,也是去复习一下,为了在找工作的时候更顺利一些,为了以后在工作的时候遇到,比如访问 http,操作 json 时能更轻易一些,希望留有一些思路。接下来就要正式的进入商圈库的开发。
一、创建文件
商圈库的开发,要先去创建一个文件,这个文件就叫做business area。给 business area 再去改一个名字,就叫做business area Runner。这时把它改成 object,加上一个main 方法。
二、做 main 功能的目的
这个 main方法里应该做什么事情呢?去做这个功能的目的是什么?就是为了要去生成一个商圈库,一定要强调一下的就是要做这个功能的目的是根据经纬度,查询高德的 api。查询到 api 获取到商圈信息,生成一个新的数据库,放置商圈信息,这就是目的。虽然说的是一个数据库,其实对应的就是一张表。
三、做 spark session 程序的步骤
1. 第一步创建spark session。
2. 第二步要进行数据的读取。
3. 第三步要进行数据处理。
4. 第四步要进行数据落地。
一般计算任务都是两个存储之间的中间过程。那么接下来继续,先把环境给搭建好,把spark session 创建好。数据读取读好,下一个视频再去介绍这个数据处理的大致思路,再下一个视频来进行数据处理的编写。
四、如何创建 spark session
先去创建出来一个 spark,使用 spark session.builder 然后设置 Master。这个 master 里面给定的是六个线程,那就还是给六个线程,app name,这个 app name 就命名为 business area table。
接下来就可以去 get or create,但是中间还要去加载一些配置,所以去输入 import.cn.itcast utils spark config helper 这个代码。还有一个是import_cn.itcast.utils.kuduHelper._两个代码进行转换,导进来以后就可以再去处理一下 spark 相关的一些内容了。
spark里面有一些隐式转换肯定要用到,所以就不用考虑 import spark.implicits._ 把这个所有 spark 当中的隐式转换也读进来。读进来以后再继续进行数据读取,那么这个数据读取会生成一个 source,这样的一个数据集,怎么读取?非常简单,使用 spark.read kudutable 但是需要一个原表的表明,所以就 private val ODS_TABLE_NAME= 为什么这么命名?等下就会介绍。
这个 ODS的 table name 还是到 ETLRunner 当中去进行查找,那么是一个 ODStable name,再接下来去 Private val AREA_TABLE_NAME。
这个 table name 就需要自己去指定了,需要注意这个商圈的这张表是不会删的,也不会替换掉它,也不会每一次都去读全量的数据生成全量的这个商圈数据,所以怎么办呢?这个area table name 就放在这,它就一个固定的名字就叫做business area。
那么 business area 这个表要创建出来,创建出来以后去复制一下 ODS table name,放在这个位置,那么 source 就读取出来了,但是这个 source 其实是一个 option,所以要进行一个小小的处理,这个处理就是当这个 source 是这个 option 没有 isEmpty 时,就去 return 掉,这是整个的逻辑。如下图所示:
这个视频的内容就已经完成了,其实就是处理一下环境信息,然后读取一下 ODS 层表, 这个对于其他同学应该是没有难度的,那么这个章节就告一段落。