一.概述 1.什么是spark 从官网http://spark.apache.org/可以得知: Apache Spark™ is a fast and general engine for large-scale data processing. 主要的特性有: Speed:快如闪电(HADOOP的100倍+) Easy to Use:Scala——Perfect.Python——Nice.Java——Ugly.R Generality:Spark内核上可以跑Spark SQL.Spark S…
一.RDD概述 1.什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算的集合.RDD具有数据流模型的特点:自动容错.位置感知性调度和可伸缩性.RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度. 2.RDD属性 1)一组分片(Partition),即数据集的基本组成单位.对于RDD来说,每个分片都会被一个计算任务处…
一.JdbcRDD与关系型数据库交互 虽然略显鸡肋,但这里还是记录一下(点开JdbcRDD可以看到限制比较死,基本是鸡肋.但好在我们可以通过自定义的JdbcRDD来帮助我们完成与关系型数据库的交互.这点和Hadoop需要借助sqoop等工具进行是有优势的!) 给出一个demo的参考链接:https://www.2cto.com/database/201705/635388.html 二.RDD依赖关系 1.窄依赖 窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partitio…
一.自定义分区 1.概述 默认的是Hash的分区策略,这点和Hadoop是类似的,具体的分区介绍,参见:https://blog.csdn.net/high2011/article/details/68491115 2.实现 package cn.itcast.spark.day3 import java.net.URL import org.apache.spark.{HashPartitioner, Partitioner, SparkConf, SparkContext} import s…
一.SparkSQL结合hive 1.首先通过官网查看与hive匹配的版本 这里可以看到是1.2.1 2.与hive结合 spark可以通过读取hive的元数据来兼容hive,读取hive的表数据,然后在spark引擎中进行sql统计分析,从而,通过sparksql与hive结合实现数据分析将成为一种最佳实践. 3.hive安装与配置 略,之前已经安装 4.spark配置 将hive配置文件拷贝给spark: cp $HIVE_HOME/conf/hive-site.xml $SPARK_HOM…
一.概述 推荐路神的ES权威指南翻译:https://es.xiaoleilu.com/010_Intro/00_README.html 官网:https://www.elastic.co/cn/products/elasticsearch 精品博文:https://blog.csdn.net/laoyang360/article/details/52244917 1.es是什么 官网的中文介绍: Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决不断…
前一篇中数据源采用的是从一个socket中拿数据,有点属于“旁门左道”,正经的是从kafka等消息队列中拿数据! 主要支持的source,由官网得知如下: 获取数据的形式包括推送push和拉取pull 一.spark streaming整合flume 1.push的方式 更推荐的是pull的拉取方式 引入依赖: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streami…
一.概述 1.什么是spark streaming Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processing of live data streams. 中文的简明介绍如下: Spark Streaming类似于Apache Storm,用于流式数据的处理.根据其官方文档介绍,Spark Streami…
一.概述 1.什么是sparkSQL 根据官网的解释: Spark SQL is a Spark module for structured data processing. 也就是说,sparkSQL是一个处理结构化数据的组件 更多的介绍,可以参见官网或者w3c:https://www.w3cschool.cn/spark_sql/spark_sql_introduction.html 中文简明介绍: Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做Data…
培训系列5--spark 的 RDD 的 reduce方法使用 1.spark-shell环境下准备数据 val collegesRdd= sc.textFile("/user/hdfs/CollegeNavigator.csv")val header= collegesRdd.first val headerlessRdd= collegesRdd.filter( line=>{ line!= header } ) 2.准备学生数的map val countStuMap= he…