SparkSQL (二)

运用SQL处理简单的需求:

数据:

单独一条数据模型:

0bb49045000057eee4ed3a580019ca06,0,0,0,100002,未知,26C07B8C83DB4B6197CEB80D53B3F5DA,1,1,0,0,2016-10-01 06:19:17,139.227.161.115,com.apptreehot.horse,马上赚钱,AQ+KIQeBhehxf6x988FFnl+CV00p,A10%E5%8F%8C%E6%A0%B8,1,4.1.1,,768,980,116.3161200000,39.9850750000,上海市,上海市,4,未知,3,Wifi,0,0,2,插屏,1,2,6,未知,1,0,0,0,0,0,0,0,,,,,,,,,,,,0,555,240,290,,,,,,,,,,,AQ+KIQeBhehxf6x988FFnl+CV00p,,1,0,0,0,0,0,,,mm_26632353_8068780_27326559,2016-10-01 06:19:17,,

需求:

按地域分布 将数据解析成上图所示

根据文档提供的字符类型和名字  首先我们需要做的准备工作:

第一步:我们提取数据 并将数据切分 拿到我们需要的字段

这里因为字段太多了  所以在开始之前我们就将这段分两部分去写所以在这里我们直接调用了方法

然后createTempView 输入表名

这里我们按照需求按省市分区 然后计算后面数据的总和 得出下面的结果 (原数据的问题导致后面全是空)

然后我们将得到的结果 导入本地 形成表格

这里 .repartition(1) 是导出设置分区 我们默认设置1 

write.format("csv") 设置导出的数据类型

sava 设置输出的路径 (最后输出的地址一定要是不存在的)

本地会生成一个 emp01的文件 打开后我们会看的如上的文件

打开XLS工作表 我们就可以得到 我们刚刚查询到的数据 

初学者的记录可能有很多地方说的并不清楚  希望大家能够理解,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值