scala
kingloneye
相信会更好!
展开
-
【大数据spark SQL项目实战】日志分析(七):按流量统计最受欢迎的Top N的课程并写入mysql
1.按流量统计最受欢迎的Top N的课程package com.kinglone.logimport org.apache.spark.sql.expressions.Windowimport org.apache.spark.sql.{DataFrame, SparkSession}import org.apache.spark.sql.functions._import scala.collection.mutable.ListBuffer/** * TopN统计Spark作业原创 2020-06-11 11:57:11 · 360 阅读 · 0 评论 -
【大数据spark SQL项目实战】日志分析(六):按地市统计主站最受欢迎的Top N的课程并写入mysql
接 将清洗的数据存储到目标地址1.按地市统计最受欢迎的TOP3的课程package com.kinglone.logimport org.apache.spark.sql.expressions.Windowimport org.apache.spark.sql.{DataFrame, SparkSession}import org.apache.spark.sql.functions._import scala.collection.mutable.ListBuffer/** *原创 2020-06-11 11:07:39 · 242 阅读 · 0 评论 -
【大数据spark SQL项目实战】日志分析(五):统计最受欢迎的TopN课程并写入mysql
1、统计最受欢迎的TopN课程a : 使用DataFrame的方式进行统计b : 使用SQL的方式进行统计根据结果显示,两次统计的结果一致2、新建数据库(bigdata),并创建表(day_video_access_topn_stat)create table day_video_access_topn_stat(day varchar(8) not null,cms_id bigint(10) not null,times bigint(10) not null,primary key原创 2020-06-07 23:25:41 · 399 阅读 · 0 评论 -
【大数据spark SQL项目实战】日志分析(四):将清洗的数据存储到目标地址
//.coalesce(1) 输出文件的个数//.mode(SaveMode.Overwrite) 每次覆盖原来的文件//.partitionBy(“day”) 以天为分区import org.apache.spark.sql.{SaveMode, SparkSession}/** * 使用Spark完成数据清洗操作 */object SparkStatCleanJob { def main(args: Array[String]): Unit = { val spar原创 2020-06-07 22:50:08 · 370 阅读 · 0 评论 -
【大数据spark SQL项目实战】日志分析(三):ip地址解析
这里使用github上二叉树快速搜索IP地址数据库生成Jar包,通过scala调用解析IP1、将Java项目下载下来打成Jar包,并将Jar包放入scala项目中ipdatabase-1.0-SNAPSHOT.jar2、编辑intall-ipdatabase.bat文件,将Jar包install到本地仓库mvn install:install-file -Dfile=ipdatabase-1.0-SNAPSHOT.jar -DgroupId=com.ggstar -DartifactId=i原创 2020-06-07 18:03:13 · 625 阅读 · 0 评论 -
【大数据spark SQL项目实战】日志分析(二):日志解析
1、定义类型在日志解析前我们需要先知道我们需要从日志中获取什么,首先我们要了解一下日志:这个日志中一共有四个字段分别为:日期、网址、流量、Ip。接下来我们需要再看需求:需求一:统计imooc主站最受欢迎课程/手记的topn访问次数需求二:按地市统计imooc主站最受欢迎topn课程需求三:按流量统计imooc主站最受欢迎的topn课程从需求上我们可以发现,我们需要什么字段如下:URL(网址)CmsType(课程类型)CmsId(课程Id)traffic(流量) ip (ip地址)c原创 2020-06-07 17:21:56 · 547 阅读 · 0 评论 -
【大数据spark SQL项目实战】日志分析(一):数据初步清洗
需求一:统计imooc主站最受欢迎的课程/手记的Top N访问次数需求二:按地市统计imcco主站最受欢迎的Top N的课程根据IP地址提取出城市信息需求三:按流量统计imooc主站最受欢迎的Top N的课程数据清洗1.使用Spark SQL解析访问日志2.解析出课程编号,类型3.根据IP解析出城市信息4.使用Spark SQL将访问时间按天进行分区输出package com.kinglone.logimport org.apache.spark.sql.SparkSession/原创 2020-06-07 17:13:18 · 800 阅读 · 0 评论 -
使用外部数据源综合查询Hive和MySQL的表数据
import org.apache.spark.sql.SparkSession/** * 使用外部数据源综合查询Hive和MySQL的表数据 */object HiveMySQLApp { def main(args: Array[String]) { val spark = SparkSession.builder().appName("HiveMySQLApp") .master("local[2]").getOrCreate() // 加载Hive表数据原创 2020-06-06 23:14:14 · 176 阅读 · 0 评论 -
【spark-sql】DataFrame和RDD的互操作
一、DataFrame和RDD的互操作DataFrame和RDD的互操作 的两种方式1)反射:cass class 前提:事先需要知道字段,字段类型2)编程:Row 如果第一种情况不满足(事先不知道列)3)选型:优先考虑第一种方式/** * DataFrame和RDD的互操作 */object DataFrameRDDApp { def main(args: Array[String]): Unit = { val spark = SparkSession.builde原创 2020-06-06 22:05:03 · 162 阅读 · 0 评论 -
Scala之Java、scala混编项目搭建(Spring Boot + Spring Data JPA + scala + Java)
构建大数据统一数据管理项目描述:数据库管理: Java 语言实现id : 数据库编号name: 数据库名称location: 数据库存放在HDFS/OSS等文件系统上的目录表管理: 表属于某一个数据库 scala语言实现id :表编号name : 表名称tableType : 表类型 内部表/外部表dbId: 该表所属的数据库id默认存储路径: db对应的lo...原创 2020-04-28 10:59:03 · 610 阅读 · 0 评论 -
Scala之读取mysql数据
Scala读取mysql数据import java.sql.{Connection, DriverManager}object MySQLApp { def main(args: Array[String]): Unit = { val url ="jdbc:mysql://localhost:3306/tax" val username = "root" v...原创 2020-04-26 23:36:55 · 967 阅读 · 0 评论 -
Scala之读取文件或网络数据
1、读取本地文件object FileAPP { def main(args: Array[String]): Unit = { val file = Source.fromFile("D:/test/test.txt","GBK") //读取本地文件 def readLine(): Unit ={ for(line <- file.getLin...原创 2020-04-26 12:01:23 · 547 阅读 · 0 评论 -
Scala之隐式转换
一、隐式转换需求为一个已存在的类添加一个新的方法?scala使用隐式转换方法:implicit二、隐式转换示例一object ImplicitApp extends App{ //定义隐式转换函数即可,Man调用Superman的fly方法 implicit def man2superman(man:Man):Superman = new Superman(man.name) ...原创 2020-04-24 17:02:53 · 136 阅读 · 0 评论 -
scala之高级函数(重点)
一、字符串高级操作插值操作和多行字符串object StringApp extends App { val name = "zhangsan" // 插值 println(s"Hello:$name") // 多行字符串 // 和 Python 一样,使用三个字符串符号 val s = """ |这是一个多行字符串 ...原创 2020-04-23 17:58:45 · 296 阅读 · 0 评论 -
scala之模式匹配
一、语法在Java 中有switch 关键字,用于对一个值进行判断,返回针对不同的条件进行不同的处理。在Scala 也有同样的功能实现,并且功能更加强大。变量 match { case value1 => 代码1 case value2 => 代码2 ... case _ => 代码 N}二、匹配过滤import scala.util.Randomobj...原创 2020-04-23 16:10:42 · 82 阅读 · 0 评论 -
scala之集合
一、数组1、定长数组object ArrayApp { def main(args: Array[String]): Unit = { val a = new Array[String](5) println(a.length) a(1) = "hello" // 调用的是 apply 方法 val b = Array("hadoop", "spa...原创 2020-04-23 15:18:53 · 79 阅读 · 0 评论 -
scala之函数
1、函数定义def 方法名字(参数名:参数类型):返回值类型 = { // 方法逻辑 // 方法体内的最后一行为返回值,不需要使用 return。这一点需要特别注意 if (x > y) { // x 为返回值 x } else { // y 为返回值 y }}2、最后一行就是返回值def add(x:Int, y:Int):Int = { // 下面...原创 2020-04-22 15:20:34 · 184 阅读 · 0 评论 -
scala之val 与 var 区别,IDEA整合Maven构建Scala应用程序
一、val 与 var 区别val : final值,不能修改 val 值名称:类型 = xxxeg: val money:Int = 200var : 变量 var 值名称:类型 = xxxeg: var name:String = "zhangsan" name = "zhangsi"二、IDEA整合Maven构建Scala应用程序1、在ID...原创 2020-04-21 22:34:57 · 238 阅读 · 0 评论 -
linux SCALA 安装及环境配置
下载scala下载链接:scala-2.11.8.tgz二、检查java环境,须在Java 1.8java -version三、上传scala安装包,解压,并重命名tar -zxvf scala-2.11.8.tgzmv scala-2.11.8 scala四、配置环境变量vim /etc/profileexport SCALA_HOME=/opt/scalaexpo...原创 2020-04-21 09:42:49 · 710 阅读 · 0 评论