Spark学习
本专栏记录、介绍了博主从0开始学习Spark的道路,记录了学习Spark的各种问题、心得体会。参考书籍:Spark快速大数据分析。
GYT0313
邮箱:guyongtao@qq.com
展开
-
Spark Streaming 整合Flume 和Kafka
前言首先会使用Java开发一个日志产生器,使用Flume收集此信息到Kafka,然后Spark Streaming 从Kafka读取消息。完整项目代码:https://github.com/GYT0313/Spark-Learning/tree/master/sparkstream1. 日志产生器首先你应该创建一个Maven 项目,参考:https://blog.csdn.net/qq_...原创 2019-05-14 10:09:52 · 659 阅读 · 0 评论 -
Spark Streaming 整合Flume -- push 和 pull 方式
无论使用哪种方式,flume的sink 一定要是avro格式。。。1. push 方式flume 配置文件:在flume-1.9.0/conf 下创建:flume_push_streaming.conf# Name the components on this agentsimple-agent.sources = netcat-sourcesimple-agent.sinks = ...原创 2019-05-13 21:51:25 · 595 阅读 · 0 评论 -
Spark Streaming整合Flume报错 - java.lang.AbstractMethodError
报错在IDEA中运行报如下错:Caused by: java.util.concurrent.ExecutionException: java.lang.AbstractMethodError: org.apache.avro.specific.SpecificFixed.getSchema()Lorg/apache/avro/Schema; at java.util.concurrent....原创 2019-05-09 20:21:59 · 362 阅读 · 0 评论 -
Spark Streaming 从 Kafka 消费消息
前言本章节介绍如何将Spark Streaming 和Kafka整合。即从Kafka主题中读取数据,并且是实时流的。博主的Kafka是集群,如果没有,也可以不适用集群。1. 安装zookeeper参考:https://blog.csdn.net/qq_38038143/article/details/842033441. 安装Kafka注:选择Kafka-2.11-2.1.1,即sca...原创 2019-05-08 20:39:56 · 805 阅读 · 0 评论 -
IDEA开发环境练习Spark Streaming程序
前言搭建Spark + IDEA开发环境看参考:https://blog.csdn.net/qq_38038143/article/details/899262051. Maven 依赖 <properties> <scala.version>2.12.8</scala.version> <spark.version>2.4...原创 2019-05-07 20:28:19 · 2755 阅读 · 0 评论 -
从0开始 - 完整搭建Spark+IDEA+Maven开发环境(基于Linux)
前言本章将完整记录博主从0开始搭建Spark+IDEA的开发环境。首先你需要安装Ubuntu 系统,如果未安装可以网上搜索教程即可。准备maven 和IDEA的安装包:链接:https://pan.baidu.com/s/1bPqf24DfZe-YpSrBrfIOKQ提取码:3110注:需要联网1. JDK的安装解压安装包,添加环境变量:vim ~/.bashrcJAVA_H...原创 2019-05-07 17:54:49 · 2880 阅读 · 0 评论 -
Spark - 使用Yarn管理器开启历史日志服务、查看日志
前言使用Yarn 作为集群管理器,启动Spark 时,无法再从SparkUI-4040 端口查看相应的信息。只能从Hadoop 的Yarn、历史服务器查看,但是默认是没有开启。所以,这里展示如何配置开启历史服务器、查看日志。Hadoop-2.7.3Spark-2.4.01. HDFS 配置确保你的Hadoop 已经完成配置,并且已经能够正常启动。下面,在已有的Hadoop 配置上,增加...原创 2019-03-18 16:36:25 · 5317 阅读 · 4 评论 -
使用Yarn集群管理器启动Spark报错(WARN YarnSchedulerBackend$YarnSchedulerEndpoint: Attempted to request executor)
前言博主想要使用 Yarn 作为集群管理器启动 pyspark,但是一直没有启动成功。捣鼓了两天,通过无数次百度终于解决了问题。1. 报错19/03/12 21:37:59 WARN YarnSchedulerBackend$YarnSchedulerEndpoint: Attempted to request executors before the AM has registered!...原创 2019-03-12 21:52:33 · 4040 阅读 · 0 评论 -
Spark使用独立集群管理器运行任务报错("Randomness of hash of string should be disabled via PYTHONHASHSEED")
1 报错原因In [7]: c.collect()19/03/09 10:58:41 WARN TaskSetManager: Lost task 1.0 in stage 3.0 (TID 8, 10.0.2.13): org.apache.spark.api.python.PythonException: Traceback (most recent call last): File ...原创 2019-03-09 11:10:53 · 656 阅读 · 0 评论 -
11-Structured Streaming -- Scala版本
前言因为《Spark-快速大数据分析》使用Spark 版本较老,并且1.1 下的Streaming 并未支持Python,所以书上并没有相应的Python 版本的代码。因此,博主这节参考官网手册学习:http://spark.apache.org/docs/2.0.2/structured-streaming-programming-guide.html如果,你的浏览器不支持翻译,这里提供...原创 2019-05-26 21:10:42 · 448 阅读 · 0 评论 -
10-Spark Streaming
前言因为《Spark-快速大数据分析》使用Spark 版本较老,并且1.1 下的Streaming 并未支持Python,所以书上并没有相应的Python 版本的代码。因此,博主这节参考官网手册学习:http://spark.apache.org/docs/2.0.2/structured-streaming-programming-guide.html如果,你的浏览器不支持翻译,这里提供...原创 2019-03-18 08:50:50 · 247 阅读 · 0 评论 -
09-Spark SQL
前言本篇博客简单介绍Spark SQL相关的使用方式。Spark版本:2.2.0Hive版本:2.3.41. 连接 Spark SQL在Spark SQL中有一种特殊的RDD叫做 SchemaRDD,在1.3.0版本之后称被 DataFrame 所替代。由于博主使用的是已编译的Spark版本,所以无需特别设置。如果是源代码的Spark,在编译时需要设置支持Hive的参数。连接Spar...原创 2019-03-13 19:41:45 · 242 阅读 · 0 评论 -
08-Spark调优与调试
前言博主目前也是小白一名,目前只能写出简单的调优和调试的技能。更多查看官网:http://spark.apache.org/docs/latest/tuning.html1. 使用SparkConf配置Spark在Python文件中配置:# 创建一个conf对象conf = new SparkConf()conf.set(&quot;spark.app.name&quot;, &quot;My app)con...原创 2019-03-11 20:28:01 · 199 阅读 · 0 评论 -
07-Spark集群搭建
前言确保已经搭建了集群,如果没有搭建的可以参考博主以前的文章。这里博主拥有一台主节点、3台工作节点。Spark版本:2.021 工作节点安装Spark这里已经在主节点安装好了Spark(可以参考该专栏的第一篇博客),下面进行其他配置。在 conf/slaves 填上所有工作节点的主机名。博主的主机名如下:向工作节点传送Spark安装包scp -r spark-2.0...原创 2019-03-08 16:59:03 · 308 阅读 · 0 评论 -
06-Spark进阶编程
前言下面简单介绍一些更加深入、实用、高阶的Spark知识。1 共享变量通常在向Spark传递函数时,比如实用map()函数或filter()传递条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本,更新这些副本的值也不会影响驱动器中对应的变量。Spark的两个共享变量,累加器和广播变量,分别为结果聚合与广播这两种常见的通信模式突破了这一限制。 ...原创 2019-03-06 19:46:35 · 207 阅读 · 0 评论 -
05-数据读取与保存
前言Spark中常用的文件格式有:文本文件、JSON、CSV、SequenceFile等。下面介绍这些文件格式的读取与保存。1 文本文件读取测试数据:使用 textFile,参数为目录 a:使用 wholeTextFile,参数为目录 a:因此,根据实际需要可以选择使用哪种方式读取文本文件。保存保存使用 saveAsFile,参数为目录名称,文件保存在该目录下:...原创 2019-03-05 18:58:50 · 265 阅读 · 0 评论 -
04-键值对操作(pair RDD)
前言键值对(pair RDD)是Spark的一部分,与普通RDD具有相同的特性,却又拥有不同于普通RDD的一些特性和操作。简单来pair RDD就是以key-value形式的RDD。1 创建pair RDD根据文本内容,以第一个单词作为键为例:map()函数需要设置key-value参数,如该例中:key=x.split(" ")[0], value=x。2 pair RDD的转换操...原创 2019-03-04 20:46:15 · 1263 阅读 · 0 评论 -
03-RDD操作深入了解
前言继上篇博客对RDD介绍了简单的操作示例,本篇博客对RDD的操作进一步了解。1. 常见的转换和行动操作1)map() – 计算RDD中各值的平方squreRDD.collect()为返回RDD中所有数据。注:返回的数据大小应保证该机器的内存足以存放,所以一般情况下collect仅在测试时使用。2)flatMap() – 分词3)map()和flatMap()的区别上图为...原创 2019-01-01 20:46:21 · 1414 阅读 · 2 评论 -
02-RDD简单介绍及其操作示例
前言继上篇博客介绍了Spark的安装,这里简单介绍RDD的概念,以及基本操作。1. RDD含义RDD中文名称为弹性分布式数据集,可以说Spark对数据的所有操作都是基于RDD的。这里有个概念:驱动应用程序,是Spark运行的必要条件,在下面的操作演示中使用pyspark,即pyspark作为驱动应用程序。RDD中的数据形式:根据书籍解释为以元素为单位,如文本内容的一行为一个元素、列表的一...原创 2019-01-01 17:09:59 · 1265 阅读 · 2 评论 -
01-安装Spark-2.0.2--配置支持pytho3、ipython3
前言本篇博文为博主开始学习Spark技术的第一篇博客。1. 下载安装Spark-2.0.2因为参考书籍:Spark快速大数据分析使用的是Spark-1.0不支持python3,且官网下载时没有以前版本的链接,并且博主所安装的Hadoop集群为2.7.3,因此下载Spark-2.0版本。下载Spark官网链接:http://spark.apache.org/downloads.html...原创 2018-12-26 22:12:44 · 722 阅读 · 0 评论