随笔分类 - Spark
摘要:a.[--master]:表示要连接的集群管理器 spark://host:port:连接到指定端口的Spark独立集群上。默认情况下Spark 独立主节点使用7077端口 mesos://host:port:连接到指定端口的Mesos 集群上。默认情况下Mesos 主节点监听5050端口 yarn
阅读全文
摘要:一:相关概念的说明 1.application应用: 一个App包含:一个driver(驱动器)、cluster manager(集群管理器)、一个或多个Exector(执行器) spark中的App可以构建多个Job,而Job间的调用遵循{Scheduling Mode: FIFO}先进先出模式;
阅读全文
摘要:1.SparkSQL集成Hive,需将hive-site.xml复制到{SAPRK_HOME/conf}目录下,即可!! a.将hive-site.xml复制到{SAPRK_HOME/conf}目录下; b.将hive-site.xml复制到所有Spark节点; c.将MySQL驱动包[mysql-
阅读全文
摘要:可以加载好多种外部数据源的格式,例如:csv,text,json,parquet等。我们在这里讲解下json和parquet格式。 json: 代码: def main(args: Array[String]): Unit = { val spark = SparkSession.builder()
阅读全文
摘要:反射机制 1.RDD[Person] (case:反射机制) >DataFrameF[ROW] >DataSet[Person] RDD DF DS Person ["name","age","address"] {Person:("name","age","address")} Person ["
阅读全文
摘要:一:首先将我们从文本中读取的数据映射到表也就是视图 eg: $>cat b.txt 1 ded 2 dsfre 3 sfs 4 fr $>val sc = spark.sparkContext #创建SparkContext $>val rdd = sc.textFile("file:///home
阅读全文
摘要:使用DF.createTempView("person")对数据集注册临时表 通过spark.sql(.....) 代码说明: df_rdd.createTempView("person") spark.sql("select * from person where name like '%0%'"
阅读全文
摘要:1. Spark SQL定位处理结构化数据的模块。SparkSQL提供相应的优化机制,并支持不同语言的开发API。 java、scala、Python,类SQL的方法调用(DSL) 2. RDD与Spark SQL的比较说明: 使用Spark SQL的优势:a.面向结构化数据;b.优化机制; RDD
阅读全文
摘要:1.共享变量分两种:广播变量和累加器,实现任务间变量共享访问; 2.广播变量: 将变量以缓存并只读的方式分发至每个机器节点上。类似于hadoop中的分布式缓存。 特点:a.只读;b.在每个节点中缓存; 创建方式:调用sc.broadcast()创建广播变量;获取广播变量:bc.value 3.累加器
阅读全文
摘要:1.运行机制 1.依赖:宽依赖和窄依赖,RDD具有分区 宽依赖:多个子RDD的分区依赖同一个父RDD的分区,类似reduceByKey;在父RDD的角度,理解为超生; 窄依赖:父RDD的每个分区最多被一个子RDD使用,类似map();在父RDD的角度,理解为独生; 2.依赖和分区 分区:RDD分区指
阅读全文
摘要:1.spark的缓存级别参照【org.apache.spark.storage.StorageLevel.scala】 new StorageLevel(_useDisk,_useMemory, _useOffHeap,_deserialized,_replication: Int = 1) val
阅读全文
摘要:1.定义:触发Job,调用runJob()方法: 比如:collect、count 2.foreach 说明:将结果返回值执行器节点,而非驱动器 3.aggregate def aggregate[U: ClassTag](zeroValue: U)(seqOp: (U, T) => U, comb
阅读全文
摘要:1.mapValues[Pair] def mapValues[U](f: V => U): RDD[(K, U)] 说明:将RDD[(K, V)] --> RDD[(K, U)],对Value做(f: V => U)操作 val a = sc.parallelize(List("dog", "ti
阅读全文
摘要:1.map、flatMap、distinct map说明:将一个RDD中的每个数据项,通过map中的函数映射变为一个新的元素。 输入分区与输出分区一对一,即:有多少个输入分区,就有多少个输出分区。 flatMap说明:同Map算子一样,最后将所有元素放到同一集合中; distinct说明:将RDD中
阅读全文
摘要:一.Spark上下文 1.作用:连接Spark集群,用户创建RDD、累加器和广播。 2.RDD:Resilient Distributed Dataset,弹性式分布式数据集,有4种类型,如下: a.创建RDD:3类(parallelize:将Seq序列数据转化为RDD、textFile将外部文件转
阅读全文
摘要:1.集群遵循主(Master)-从(Worker)机构:在不同的集群管理器模式下,Master和Worker映射的内容有所不同 在Standalone模式下:主【Master守护进程】和从【Worker守护进程】 在on Yarn模式下:主【ResourceManager守护进程】和从【Nodema
阅读全文
摘要:1.构建独立应用,采用Maven搭建Spark应用程序 a.创建Scala工程(略) b.加载spark-core_2.11依赖库: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artif
阅读全文
摘要:介绍 1.spark处理大数据的统一分析计算引擎; a.速度:在迭代循环的计算模型下,spark比Hadoop快100倍; b.易用性:spark提供多种语言的API,如Java、Python、Scala、R、SQL等 c.扩展性:在spark RDD基础上,提供一整套的分析计算模型:spark S
阅读全文