Spark
SparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSparkSpark
蔡大远
这个作者很懒,什么都没留下…
展开
-
SparkSql 处理json文件案列
package org.exampleimport java.langimport org.apache.log4j.{Level, Logger}import org.apache.spark.sql.{Row, SparkSession}import org.apache.spark.{SparkConf, SparkContext}import org.apache.spark.sql.functions._object json { def main(args: Array[St原创 2021-07-23 10:51:18 · 431 阅读 · 0 评论 -
Error:(15, 18) stable identifier required, but spark.implicits found. import spark.implicits._
var spark = SparkSession.builder().config(conf).getOrCreate()错误应该用 val原创 2021-07-22 14:49:54 · 746 阅读 · 0 评论 -
SparkStreaming HDFS监控目录
SparkStreaming HDFSpackage org.example.sparkstreamingimport org.apache.log4j.{Level, Logger}import org.apache.spark.sql.SparkSessionimport org.apache.spark.streaming.dstream.DStreamimport org.apache.spark.streaming.{Seconds, StreamingContext}import原创 2021-07-20 11:10:25 · 729 阅读 · 0 评论 -
Spark-HDFS
package org.exampleimport org.apache.log4j.{Level, Logger}import org.apache.spark.{SparkConf, SparkContext}object Spark_Hdfs { def main(args: Array[String]): Unit = { Logger.getLogger("org.apache.spark").setLevel(Level.OFF) Logger.getLogger原创 2021-07-19 15:29:49 · 232 阅读 · 0 评论 -
SparkStreaming+sql+保存本地 (Socket/hdfs)流简单实例
SparkStreaming Socket流简单实例Socket流简单实例启动如下的代码,然后 LInux命令:nc -lk 9999,输入字符查看程序执行结果package org.exampleimport org.apache.log4j.{Level, Logger}import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Sec原创 2021-07-19 14:06:28 · 186 阅读 · 0 评论 -
SparkSql保存数据
SparkSql保存数据package day05 import org.apache.spark.sql.{DataFrame, Dataset, SaveMode, SparkSession} object DataSourceDemo { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession .builder() .master("local[*]") .appName("Tes原创 2021-07-19 09:59:57 · 349 阅读 · 0 评论 -
Spark 去除控控制台打印info日志
方法一在Spark-Shell运行如下命令:import org.apache.log4j.Loggerimport org.apache.log4j.LevelLogger.getLogger("org").setLevel(Level.OFF)Logger.getLogger("akka").setLevel(Level.OFF)方法二修改log4j配置文件(conf/log4j.properties):log4j.rootCategory=OFF, console...原创 2021-07-12 16:08:11 · 1080 阅读 · 0 评论 -
Spark连接读写Mongodb
Spark连接Mongodb注意:此处的mongodb的版本必须要高于3.2进入mongodb创建库> use events_db在此库中建立表并插入几条数据此处的users如果表中没有的话,mongodb会自己创建> db.users.insert({"name":"luozi","age":"25"})WriteResult({ "nInserted" : 1 })去另一页面的目录中spark-shell --conf "spark.mongodb.input.uri原创 2020-06-19 12:21:10 · 397 阅读 · 0 评论 -
Spark 一:安装(单机版)
Spark 一:安装(单机版)解压文件到指定目录修改配置文件重命名到/spark240/conf目录下(1)saprk-env.sh(2)slaves (配置单机的话,则不需要配置)配置环境变量运行Spark (已经安装了 scala)先启动 Hadoop启动 SparkSpark 使用 Python 开发配置python环境安装Python启动PySpark的客户端注意:安装spark之前要安装jdk,hadoop解压文件到指定目录[root@cai install]# tar -zxvf spa原创 2020-05-19 15:48:19 · 559 阅读 · 0 评论 -
Spark_shell数据清洗案例
spark数据清洗案例本文的目的是模拟公司的实际数据清洗数据来源是我自己用java代码模拟的,模拟代码及数据文件会上传至scdn,可以自由下载本文的数据格式如下(en事件名称有四种类型)将本地文件上传至sparkRDDscala> val optionRDD=sc.textFile("/opt/tmp/logs/op.log")optionRDD: org.apache.spark.rdd.RDD[String] = /opt/tmp/logs/op.log MapPartiti原创 2020-06-29 14:59:32 · 1345 阅读 · 0 评论 -
Spark ~ RDD 序列化
Spark ~ RDD 序列化原因分析:进行序列化extends SerializableKryo案列,没有经过系列化的情况package org.exampleimport org.apache.log4j.{Level, Logger}import org.apache.spark.{SparkConf, SparkContext}object Kryo { def main(args: Array[String]): Unit = { Logger.getLogger("org原创 2021-01-28 13:55:01 · 386 阅读 · 0 评论 -
Spark ~ aggregate算子解析
Spark ~ aggregate算子解析原创 2021-01-27 17:44:59 · 151 阅读 · 0 评论 -
Spark ~ 获取变量的类型
Spark ~ 获取变量的类型 val sc = new SparkContext(config) val rdd = sc.makeRDD(1 to 10,2) println(rdd.collect().getClass.getCanonicalName) 输入 1 2 3 4 5 6 7 8 9 10 输出 Int[]原创 2021-01-27 15:11:47 · 427 阅读 · 0 评论 -
Spark ~ RDD总结
Spark ~ RDD总结前言TRANSFORMATION 型 RDDVALUE 类型--1map(func)mapPartitionsWithIndex(func)flatMap(func)mapPartition()map() 和 mapPartition() 的区别glom()groupBy(func)filter(func)sample(withReplacement, fraction, seed)distinct([numTasks]))mapPartitions(func)VALUE 类型--原创 2021-01-27 15:56:24 · 254 阅读 · 0 评论 -
SparkSql 自定义UDF函数
@[TOC](SparkSql 自定义函数(udf/udtf/udaf 以及几种创建方式))原创 2021-02-20 09:26:03 · 536 阅读 · 0 评论 -
SparkSql DataFrame转换为RDD
SparkSql DataFrame转换为RDD测试数据样式转换测试数据样式caizhiyuan,25,18696478962kongjingqi,25,16987159638caizhiyuan,25,15277840314kongjingqi,25,13568520990caizhiyuan,25,11859201666kongjingqi,25,10149882342caizhiyuan,25,8440563018kongjingqi,25,6731243694caizhiyuan原创 2021-02-05 14:03:38 · 2350 阅读 · 0 评论 -
SparkSQL DSL 语法
SparkSQL DSL 语法DataFrame 提供一个特定领域语言(domain-specific language, DSL)去管理结构化的数据。可以在 Scala, Java, Python 和 R 中使用 DSL,使用 DSL 语法风格不必去创建临时视图了创建一个 DataFramescala> val df = spark.read.json("data/user.json")df: org.apache.spark.sql.DataFrame = [age: bigint,原创 2021-02-01 17:36:31 · 1105 阅读 · 1 评论 -
SparkSQL语法
SparkSQL语法SQL 语法风格是指我们查询数据的时候使用 SQL 语句来查询,这种风格的查询必须要有临时视图或者全局视图来辅助读取 JSON 文件创建 DataFramescala> val df = spark.read.json("data/user.json")df: org.apache.spark.sql.DataFrame = [age: bigint, username: string]对 DataFrame 创建一个临时表scala> df.crea原创 2021-02-01 17:29:45 · 3865 阅读 · 0 评论 -
SparkSQL 创建DataFrame
1 前言:Spark SQL 的 DataFrame API 允许我们使用 DataFrame 而不用必须去注册临时表或者生成 SQL 表达式。 DataFrame API 既有 transformation 操作也有 action 操作。2 创建 DataFrame在 Spark SQL 中 SparkSession 是创建 DataFrame 和执行 SQL 的入口,创建 DataFrame有三种方式:通过 Spark 的数据源进行创建;从一个存在的 RDD 进行转换;还可以从 Hiv原创 2021-02-02 17:47:16 · 433 阅读 · 0 评论 -
Spark 查找rdd血缘关系(toDebugString)及其依赖(dependencies)
dependenciesdependencies可以查看此 RDD 依赖的上一个 RDD 的类型 val rdd1 = sc.parallelize(List(1,2,3,4,5,6,7,8,9)) println("rdd1的依赖:" + rdd1.dependencies) var rdd2 = rdd1.map(x=>(x,1)) println("rdd2的依赖:" + rdd2.dependencies) var rdd3 = rdd2.red.原创 2021-01-29 15:24:54 · 947 阅读 · 0 评论 -
Spark ~ checkpoint 检查点
Spark ~ checkpoint 检查点所谓的检查点其实就是通过将 RDD 中间结果写入磁盘由于血缘依赖过长会造成容错成本过高,这样就不如在中间阶段做检查点容错,如果检查点之后有节点出现问题, 可以从检查点开始重做血缘,减少了开销。对 RDD 进行 checkpoint 操作并不会马上被执行,必须执行 Action 操作才能触发。...原创 2021-01-29 14:48:38 · 849 阅读 · 0 评论 -
Spark ~ cache persist checkpoint 的区别
Spark ~ chche persist checkpoint 的区别cache()persistcheckpoint缓存和检查点区别cache()将数据临时存放在内存中进行数据重用,速度快,但是不算安全persist可以将数据存放在磁盘文件中进行数据重用涉及到磁盘 IO ,性能较低,但是数据安全如果作业执行完毕,临时保存的数据就会丢失checkpoint将数据长久的保存在磁盘文件中进行数据重用涉及到磁盘 IO ,性能较低, 但是数据安全为了保证数据安全,所以一般情况下,会独立执行作业原创 2021-01-28 16:59:09 · 170 阅读 · 0 评论 -
Spark ~ RDD 持久化
Spark ~ RDD 持久化cache()persist()RDD 中是不存储数据的,如果一个 RDD 需要重复使用,那么需要从头再次执行来获取数据。RDD 对象是可以重用的,但是数据无法重用。参考以下的案列,reduceRdd 和 groupRdd 都依赖于 mapRdd ,在 flatMap 中打印,发现两次调用 mapRdd 都从头再次执行了。package org.exampleimport org.apache.log4j.{Level, Logger}import org.apac原创 2021-01-28 16:31:11 · 154 阅读 · 0 评论 -
Spark IEDA使用依赖
Spark IEDA使用依赖 <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.version}</version> </dependency> <dependency>原创 2020-05-14 16:56:39 · 300 阅读 · 0 评论 -
Graphx ~7:航空公司数据提取与简单计算
Graphx 航空公司数据提取与简单计算写在前面此练习的源文件在此处免费下载数据格式项目要求代码实现写在前面此练习的源文件在此处免费下载本文为了方便,未在代码中做删除第一行的工作,请下载后用Excel手动删除第一行的字段数据格式dom – 月中第几天 (day of month)dow – 周中第几天 (day of week)carrier – 航空公司tail_num – 飞机注册号fl_num – 航班号origin_id – 起飞机场编号origin – 起飞机场dest_原创 2020-05-14 16:53:18 · 651 阅读 · 0 评论 -
Graph ~6:Pregel框架
graph Pregel框架pregel函数源码 与 各个参数介绍: def pregel[A: ClassTag]( initialMsg: A, maxIterations: Int = Int.MaxValue, activeDirection: EdgeDirection = EdgeDirection.Either)( vprog: (VertexId, VD, A) => VD, sendMsg: EdgeTriplet原创 2020-05-13 21:26:48 · 341 阅读 · 0 评论 -
Graphx ~5:基本算法
Graphx 算法PageRankConnected Components: LianTongTiTriangle Count导包import org.apache.spark.graphx.GraphLoaderimport org.apache.spark.{SparkConf, SparkContext}object PageRank { def main(args: Array[String]): Unit = { val conf=new SparkConf().set原创 2020-05-13 20:40:14 · 369 阅读 · 0 评论 -
Graphx ~4:算子总结
Graphx 算子总结一: 结构化算子reversesubgraphmaskgroupEdges二:join 算子outerJoinVerticesjoinVerticesouterJoinVertices 和 joinVertices一: 结构化算子spark有如下4种结构化算子:reversesubgraphmaskgroupEdges为了演示以上4种结构化算子,我们首先初始化一个graph,代码如下我们这里传过去的有3个参数users就是所有顶点的rdd(RDD[(Vertex原创 2020-05-12 22:02:03 · 852 阅读 · 0 评论 -
Graph ~3:出入度等信息展示
Graph 出入度等信息展示numEdges 边数量numVertices 顶点数量inDegrees: VertexRDD 入度outDegrees: VertexRDD 出度degrees: VertexRDD 度一:spark-shell查看边的数量scala> graph3.numEdgesres16: Long = 8查看顶点数量scala> graph3.numVerticesres17: Long = 7查看入度scala> graph3.in原创 2020-05-12 20:55:58 · 476 阅读 · 0 评论 -
Graphx ~1:原理
这里写目录标题一. GraphX应用背景二. GraphX的框架2.1.1图存储模式2.1.2GraphX存储模式2.1.3图计算模式一. GraphX应用背景Spark GraphX是一个分布式图处理框架,它是基于Spark平台提供对图计算和图挖掘简洁易用的而丰富的接口,极大的方便了对分布式图处理的需求。众所周知·,社交网络中人与人之间有很多关系链,例如Twitter、Facebook、微博和微信等,这些都是大数据产生的地方都需要图计算,现在的图处理基本都是分布式的图处理,而原创 2020-05-11 23:26:24 · 316 阅读 · 1 评论 -
Graphx ~2:代码案例
1. GraphX应用背景Spark GraphX是一个分布式图处理框架,它是基于Spark平台提供对图计算和图挖掘简洁易用的而丰富的接口,极大的方便了对分布式图处理的需求。众所周知·,社交网络中人与人之间有很多关系链,例如Twitter、Facebook、微博和微信等,这些都是大数据产生的地方都需要图计算,现在的图处理基本都是分布式的图处理,而并非单机处理。Spark GraphX由于底层是基于Spark来处理的,所以天然就是一个分布式的图处理系统。图的分布式或者并行处理其实是把图拆分成很多原创 2020-05-11 23:22:38 · 292 阅读 · 0 评论