spark
qq_2631218300
这个作者很懒,什么都没留下…
展开
-
SparkStream实现wordcount详解(java和scala篇)
scala版本package nj.zb.sparkimport org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds, StreamingContext}/** * @Title: ${XiongJinbiao} * @Package ${nj.zb}原创 2020-12-19 15:17:12 · 463 阅读 · 1 评论 -
Spark GraphX 之ConnectComponent
转载GraphX 之ConnectComponent首先准备数据people.csv内容如下4,Dave,256,Faith,218,Harvey,472,Bob,181,Alice,203,Charlie,307,George,349,Ivy,215,Eve,3010,Lily,3511,Helen,3512,Ann,35links.csv内容如下1,2,friend1,3,sister2,4,brother3,2,boss4,5,client1,9,frien原创 2020-11-26 17:14:30 · 338 阅读 · 0 评论 -
Spark GraphX的图形数据分析
文章目录一、为什么需要图计算?二、图的基本概念三、图的术语1、顶点和边2、有向图和无向图3、有环图和无环图4、度(出度和入度)四、图的经典表示法五、Spark GraphX简介六、GraphX核心抽象七、GraphX API创建Graph案例1案例23、查看图信息4、图的算子1、属性算子2、结构算子3、Join算子5、GraphX API 应用一、为什么需要图计算?许多大数据以大规模图或网络的形式呈现许多非图结构的大数据,常会被转换为图模型进行分析图数据结构很好地表达了数据之间的关联性二、图的基原创 2020-11-25 19:48:11 · 268 阅读 · 0 评论 -
Spark 高级操作之json复杂和嵌套数据结构的操作
下面几个是本文重点要讲的方法get_json_object()from_json()to_json()explode()准备阶段准备一个json标准格式文件op.json,内容如下1593136280858|{"cm":{"ln":"-55.0","sv":"V2.9.6","os":"8.0.4","g":"C6816QZ0@gmail.com","mid":"489","nw":"3G","l":"es","vc":"4","hw":"640*960","ar":"MX","uid":"4原创 2020-11-20 22:34:26 · 402 阅读 · 0 评论 -
Spark 之 UDTF
UDTF测试udtf.txt文本内容01//zs//Hadoop scala spark hive hbase02//ls//Hadoop scala kafka hive hbase Oozie03//ww//Hadoop scala spark hive sqoop要求输出 type Hadoop scala kafka hive hbase Oozie实现代码package nj.zb.kb09.sqlimport java.utilimport org.原创 2020-11-18 09:54:00 · 266 阅读 · 0 评论 -
Spark 之 UDAF
一、UDAF简介先解释一下什么是UDAF(User Defined Aggregate Function),即用户定义的聚合函数,聚合函数和普通函数的区别是什么呢,普通函数是接受一行输入产生一个输出,聚合函数是接受一组(一般是多行)输入然后产生一个输出,即将一组的值想办法聚合一下。关于UDAF的一个误区我们可能下意识的认为UDAF是需要和group by一起使用的,实际上UDAF可以跟group by一起使用,也可以不跟group by一起使用,这个其实比较好理解,联想到mysql中的max、min等原创 2020-11-17 19:44:46 · 1190 阅读 · 0 评论 -
Spark SQL函数
内置函数(org.apache.spark.sql.funtions.scala)内置函数的使用模拟用户访问日志信息,acceLog.txt内容如下2016-12-27,0012016-12-27,0012016-12-27,0022016-12-28,0032016-12-28,0042016-12-28,0022016-12-28,0022016-12-28,001package nj.zb.kb09.sqlimport org.apache.spark.sql.{Row原创 2020-11-17 12:16:53 · 212 阅读 · 0 评论 -
Spark SQL操作外部数据源
Parquet文件:是一种流行的列式存储格式,以二进制存储,文件中包含数据与元数据package nj.zb.kb09.sqlimport org.apache.spark.sql.{Row, SparkSession}import org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType}object SparkSQL1 { def main(args: Array[String]): Unit原创 2020-11-17 11:26:35 · 92 阅读 · 0 评论 -
Spark SQL API
Spark SQL架构Spark SQL是Spark的核心组件之一(2014.4 Spark1.0)能够直接访问现存的Hive数据提供JDBC/ODBC接口供第三方工具借助Spark进行数据处理提供了更高层级的接口方便地处理数据支持多种操作方式:SQL、API编程支持多种外部数据源:Parquet、JSON、RDBMS等SparkContextSQLContext:Spark SQL的编程入口HiveContext:SQLContext的子集,包含更多功能SparkSession(Spa原创 2020-11-16 20:00:06 · 674 阅读 · 0 评论 -
Spark RDD算子只分区操作mapPartitions、mapPartitionsWithIndex(scala和java版本)
mapPartitions可以理解为先进行partition,再对每一个partition进行map1、把每一个元素 i 变为 map(i , i*i)scala版本val rdd = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) def mapPartFunc(iter: Iterator[Int]): Iterator[(Int, Int)] = { val res = List[(Int, Int)]()原创 2020-11-10 18:56:33 · 480 阅读 · 0 评论 -
Spark RDD算子键值对关联操作subtractByKey、join、leftOuterJoin、rightOuterJoin、fullOuterJoin
subtractByKeydef subtractByKey[W](other: RDD[(K, W)])(implicit arg0: ClassTag[W]): RDD[(K, V)]def subtractByKey[W](other: RDD[(K, W)], numPartitions: Int)(implicit arg0: ClassTag[W]): RDD[(K, V)]def subtractByKey[W](other: RDD[(K, W)], p: Partitioner)(i原创 2020-11-09 19:52:36 · 169 阅读 · 0 评论 -
Spark RDD算子键值对分组操作groupByKey,cogroup(scala、java版本)
groupByKeydef groupByKey(): RDD[(K, Iterable[V])]def groupByKey(numPartitions: Int): RDD[(K, Iterable[V])]def groupByKey(partitioner: Partitioner): RDD[(K, Iterable[V])]groupByKey会将RDD[key,value] 按照相同的key进行分组,形成RDD[key,Iterable[value]]的形式, 有点类似于sql中的g原创 2020-11-09 19:11:34 · 738 阅读 · 0 评论 -
Spark常用动作算子 first、take、collect、count、countByValue、reduce、aggregate、fold、takeOrdered(java和scala版本)
scala版本import org.apache.spark.{SparkConf, SparkContext}object ActionRDDScala { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("actionRDD").setMaster("local[2]") val sc = new SparkContext(conf) val rdd = sc.原创 2020-11-09 16:50:43 · 637 阅读 · 0 评论 -
Spark RDD算子(1)java版本
java版本,scala版本请参考Spark常用RDD算子Spark RDD算子聚合操作1Spark RDD算子聚合操作2sample.txt内容如下aa bb cc aa aa aa dd dd ee ee ee eeff aa bb zksee kksee zz zksimport org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.原创 2020-11-05 15:08:41 · 232 阅读 · 0 评论 -
Spark RDD算子(3)聚合操作reduceByKey,sortByKey
reduceByKeydef reduceByKey(func: (V, V) => V): RDD[(K, V)]def reduceByKey(func: (V, V) => V, numPartitions: Int): RDD[(K, V)]def reduceByKey(partitioner: Partitioner, func: (V, V) => V): RDD[(K, V)]接受一个函数,按照相同的key进行reduce操作,类似于scala中的reduces原创 2020-11-04 19:00:13 · 275 阅读 · 0 评论 -
Spark RDD算子(2)聚合操作combineByKey,foldByKey
combinByKeydef combineByKey[C](createCombiner: (V) => C, mergeValue: (C, V) => C, mergeCombiners: (C, C) => C, partitioner: Partitioner, mapSideCombine: Boolean = true, serializer: Serializer = null): RDD[(K, C)]该函数用于将RDD[K,V]转换成RDD[K,C],这里的V类型和原创 2020-11-04 18:24:55 · 211 阅读 · 0 评论 -
SparkRDD算子(1)parallelize,makeRDD,textFile,filter,map,flatMap,distinct,union,intersection,subtract...
Spark常用RDD算子(1)(scala版本)parallelize调用SparkContext的parallelize(),将一个集合变成一个RDDdef parallelize[T](seq: Seq[T],numSlices: Int)(implicit evidence$1: scala.reflect.ClassTag[T]): org.apache.spark.rdd.RDD[T]第一个参数是集合,第二参数是分区数,返回的是RDD[T]scala> sc.parallelize原创 2020-11-04 15:19:58 · 276 阅读 · 0 评论 -
Spark基础及架构
为什么我们要使用Spark1、MapReduce编程模型的局限性繁杂:只有Map和Reduce两个操作,复杂的逻辑需要大量的样板代码处理效率低:Map中间结果写进磁盘,Reduce写HDFS,多个Map通过HDFS交换数据;任务调度与启动开销大不适合迭代处理、交互式处理和流式处理2、Spark是类Hadoop MapReduce的通用并行框架Job中间输出结果可以保存在内存,不再需要读写HDFS;比MapReduce平均快10倍以上Spark优势1、速度快:基于内存数据处理,比MR快100个数原创 2020-11-03 16:23:05 · 232 阅读 · 0 评论