- 博客(15)
- 收藏
- 关注
原创 第十三篇实习日记
销售额增长率 = (本年销售额-上年销售额) / 上年销售额 * 100%先根据年和月进行分组,再分别提取各年份(2011-2014。客单价指商场(超市)每一个顾客平均购买商品的金额,客单。通过计算并展示每年的客单价数据,可以反映每年的顾客购买。年)的数据,分析各年份对应月的利润情况。= 本年销售额 / 上年销售额 - 1。通过年份分组,计算每年的销售额总和。客单价=销售额÷成交顾客数。价反映顾客的购买水平;
2024-06-21 10:23:09
609
原创 第十二篇实习日记
当Spark SQL提供的内置函数不能满足查询需求时,用户可以根据需求编写自定义函数(User Defined Functions, UDF),然后在Spark SQL中调用。 例如有这样一个需求:为了保护用户的隐私,当查询数据的时候,需要将用户手机号的中间4位数字用星号()代替,比如手机号180***2688。这时就可以编写一个自定义函数来实现这个需求,实现代码如下:/*** 用户自定义函数,隐藏手机号中间4位*///创建或得到SparkSession。
2024-06-18 11:27:39
444
原创 第十一篇实习日记
Spark SQL是一个用于结构化数据处理的Spark组件。所谓结构化数据,是指具有Schema信息的数据,例如JSON、Parquet、Avro、CSV格式的数据。与基础的Spark RDD API不同,Spark SQL提供了对结构化数据的查询和计算接口。将SQL查询与Spark应用程序无缝组合 Spark SQL允许使用SQL或熟悉的API在Spark程序中查询结构化数据。
2024-06-18 11:06:08
846
原创 第十篇实习日记
Scala中的循环主要有for循环、while循环和do while循环三种。1、for循环for循环的语法:for(变量<-集合或数组){方法体例如,循环从1到5输出变量i的值:若不想包括5,可使用关键字until:将字符串“hello”中的字符循环输出:将字符串看做一个由多个字符组成的集合,简化写法:2、while循环while循环的语法:while(条件)循环体例如:i: Int = 1| i=i+1| }
2024-06-18 11:02:13
926
原创 第九篇实习日记
1、下载Scala到Scala官网https://www.scala-lang.org/download/下载Windows安装包scala-2.12.7.msi2、配置环境变量变量名:SCALA_HOME变量值:C:\Program Files (x86)\scala变量名:Path变量值:%SCALA_HOME%\bin3、测试CMD中执行scala -version命令。
2024-06-18 10:56:08
645
原创 第八篇实习日记——电商实战——Hadoop实现
根据电商日志文件,分析:统计页面浏览量(每行记录就是一次浏览)统计各个省份的浏览量 (需要解析IP)日志的ETL操作(ETL:数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程)为什么要ETL:没有必要解析出所有数据,只需要解析出有价值的字段即可。本项目中需要解析出:ip、url、pageId(topicId对应的页面Id)、country、province、city。
2024-06-18 10:46:40
266
原创 第七篇实习日记——电商实战——Hadoop实现
统计页面浏览量(每行记录就是一次浏览)统计各个省份的浏览量 (需要解析IP)日志的ETL操作(ETL:数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程)为什么要ETL:没有必要解析出所有数据,只需要解析出有价值的字段即可。本项目中需要解析出:ip、url、pageId(topicId对应的页面Id)、country、province、city。
2024-06-14 16:14:26
667
原创 第六篇实习日记——电商实战——Hadoop实现
统计页面浏览量(每行记录就是一次浏览)统计各个省份的浏览量 (需要解析IP)日志的ETL操作(ETL:数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程)
2024-06-14 15:24:35
671
1
原创 第二篇实习日记
/1实现writable方法//必须要有空参构造,为了以后反射用super();super();//序列化的方法@Override//反序列化方法//注意序列化方法和反序列化方法顺序必须保持一致@Override@Override@Override。
2024-06-13 10:46:25
336
原创 第一篇实习笔记
包括属性:手机号、上行流量、下行流量、总流量(2)自定义Map任务类(Map Task)对每一行日志内容进行拆分,Map输出数据为:phone==>Access(手机号,该行手机号的上行流量,该行手机号的下行流量)(3)编写Reduce任务类(Reduce Task)对每个手机号的流量进行汇总,Map输出数据为:phone==>Access(手机号,上行流量和,下行流量和)也可以优化为:phone==>Access(NullWritable对象,上行流量和,下行流量和)
2024-06-05 16:40:36
207
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人