大数据全系列 教程
1869个小节阅读:467.3k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
主要是读取Hive中的ODS层 TO_SONG_INFO_D
表生成 TW层TW_SONG_BASEINFO_D
表.
创建类com.itbaizhan.scala.musicproject.eds.content.GenerateTwSongBaseinfoD
定义函数getAlbumName
,实现专辑名称ALBUM
的获取
1.大部分专辑数据格式:[{"name":"《不许你注定一人》","id":"5c19b89450057d3b20232f7a"}] =>"不许你注定一人"
2.部分数据格式:《LANDIVA》=>"LANDIVA"
3.部分数据格式:[]、空 => "暂无专辑"
定义函数getPostTime
,实现发行时间POST_TIME
的获取
调用DateUtils.formatDate(stringDate:String):String即可
定义函数getSingerInfo
,实现歌手名称或歌手id的获取
1.[{"name":"李维真","id":"18013"},{"name":"谢丹","id":"15293"}]
2.[{"name":"方大同","id":"6899"}]
3.部分数据格式:[]、空 => ""
定义函数getAuthCompany
,实现授权公司AUTH_CO
的获取
1.{"name":"乐心曲库","id":"5aa740ecb19efe0b504ce30a"}=>"乐心曲库"
2.部分数据格式:空 => "乐心曲库"
定义函数getPrdctType
,实现产品类型PRDCT_TYPE
的获取
[8.0,2.0,9]=>ListBufferInt
在当前类的main方法中根据是否本地运行构建SparkSession对象
导入函数,可以使用 udf、col 方法
构建转化数据的udf
切换Hive的命名空间baizhan_music
读取Hive表TO_SONG_INFO_D
,使用如上定义的UDF函数新增或替换对应的字段,然后注册为临时视图TEMP_TO_SONG_INFO_D
清洗数据,将结果保存到 Hive的TW_SONG_BASEINFO_D
表中