![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
Spark
这个妹妹我见过
小菜鸡养成记
展开
-
【大数据开发】scala报错
error in interpolated string: identifier or block expected override def toString: String = s"name: $_name, age: ${_age}"这是因为成员变量_name没有使用{}。错误原因挺令人奇怪的,idea不会给你提示错误,并且颜色还是紫色的,和${_age}颜色一样,为了保险起见,下次写这类语法糖都用大括号括起来...原创 2020-10-07 09:42:05 · 350 阅读 · 0 评论 -
【大数据开发】SparkSQL——SparkSQL 中group by、grouping sets、rollup和cube方法详解
SparkSQL 中group by、grouping sets、rollup和cube方法详解原创 2020-11-10 11:29:36 · 394 阅读 · 0 评论 -
【大数据开发】Structured Streaming报错Pathname /C:/Users/.... from C:/Users/... is not a valid DFS filename.
Exception in thread "main" java.lang.IllegalArgumentException: Pathname /C:/Users/18870/AppData/Local/Temp/temporary-acc01e20-1ddb-4bfb-bb81-89c2657e97e5 from C:/Users/18870/AppData/Local/Temp/temporary-acc01e20-1ddb-4bfb-bb81-89c2657e97e5 is not a valid D原创 2020-11-09 21:52:15 · 498 阅读 · 3 评论 -
【大数据开发】运行Structured Streaming时报错Caused by: java.lang.ClassNotFoundException: kafka.DefaultSource
Exception in thread "main" java.lang.ClassNotFoundException: Failed to find data source: kafka. Please find packages at http://spark.apache.org/third-party-projects.html at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource原创 2020-11-05 20:06:40 · 790 阅读 · 2 评论 -
【大数据开发】SparkStreaming——DStream输入源、原语、SparkStream与Kafka和Redis三者的交互
一、二、原创 2020-10-22 08:43:51 · 398 阅读 · 0 评论 -
【大数据开发】SparkSQL——SparkSQL统计每一天的销售额
文章目录一、 统计每一天的销售额(DSL风格)二、一、 统计每一天的销售额(DSL风格)需求: 数据源(时间,销售金额,用户ID)在这个数据源中有不完整的记录,过滤掉这些数据统计每一天的销售额(DSL风格)import org.apache.spark.rdd.RDDimport org.apache.spark.sql.functions.sumimport org.apache.spark.sql.{DataFrame, SparkSession}object _01_Exercise原创 2020-10-20 08:30:16 · 904 阅读 · 1 评论 -
【大数据开发】SparkCore、SparkSQL综合练习——对农产品数据进行分析
发现一个idea很神奇的功能,每次写一堆算子的时候,先在最后面写一个Action算子过去,然后再从中间开始写transformation算子,这个时候神奇的事情发生了,在每个算子后面会显示出灰色的返回值类型!!!文章目录一、数据背景二、数据类型三、功能要求四、SparkCore代码实现4.1 农产品市场个数统计4.2农产品种类统计4.3计算山西省每种农产品的价格波动趋势五、SparkSQL代码实现六、业务数据一、数据背景该数据每日进行采集汇总。数据范围涵盖全国主要省份(港澳台、西藏、海南暂无数据).原创 2020-10-17 17:37:36 · 1480 阅读 · 1 评论 -
【大数据开发】SparkSQL——Spark对接Hive、Row类、SparkSQL函数、UDF函数(用户自定义函数)、UDAF函数、性能调优、SparkSQL解决数据倾斜
文章目录一、Spark对接hive1.1 集群文件下载1.2 导入依赖1.3 打开集群metastore服务二、三、SparkSQL函数一、Spark对接hive1.1 集群文件下载下载hive/conf/hive-site.xml、hadoop/etc/hadoop/core-site.xml、hadoop/etc/hadoop/hdfs-site.xml添加这些配置到idea中的resources中我们的代码在读取文件的时候默认是在HDFS集群中读取的。此时如果需要读取本地文件时,则需要在本地原创 2020-10-15 08:08:06 · 600 阅读 · 0 评论 -
【大数据开发】运行Spark集群模式时抛出异常,报The last packet sent successfully to the server was 0 milliseconds ago. The
这是因为val url: String = “jdbc:mysql://localhost:3306/mydb1?serverTimezone=UTC”这里不要设置成localhost,会抛异常,这是因为配置中配置了spark和hdfs的配置,设置了localhost以后会从这些配置中读取ip将localhost改为自己的ip后错误消失The last packet sent successfully to the server was 0 milliseconds ago. The driver原创 2020-10-14 20:47:08 · 637 阅读 · 0 评论 -
【大数据开发】运行Spark集群模式时jdbc连接错误,报java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
运行Spark时jdbc连接错误无法连接数据库,我的数据库版本是8.0.17使用的url: String = “jdbc:mysql://10.20.152.64:3306/mydb1?serverTimezone=UTC”org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in原创 2020-10-14 20:41:46 · 1197 阅读 · 1 评论 -
【大数据开发】SparkSQL——RDD、DataFrame、DataSet相互转换、DSL常用方法、SQL风格语法、Spark读写操作、获取Column对象的方式
文章目录一、准备工作二、创建SparkSession三、RDD、DataFrame、DataSet之间的相互转换四、一、准备工作导入依赖<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>${spark.version}</version> </dependenc原创 2020-10-14 09:13:08 · 364 阅读 · 0 评论 -
【大数据开发】SparkCore——SparkContext源码解析、Spark的Stage和Task执行操作源码解析
文章目录一、Spark的源码下载二、SparkContext的初始化过程1. SparkConf2. SparkContext3. TaskScheduler3.1. TaskSchedulerImpl4. DriverEndPoint5. StandaloneAppClient6. Master三、Spark的Stage和Task执行操作1. SparkConext.runJob2. DAGScheduler.runJob3. EventLoop4. CoarseGrainedExecutorBacke原创 2020-10-13 10:09:05 · 355 阅读 · 1 评论 -
【大数据开发】SparkCore——未优化的HashShuffleManager、优化的HashShuffleManager、SortShuffleManager、ByPass机制、Shuffle调优
文章目录一、什么是Shuffle二、 Spark中的Shuffle的演化流程三、未优化版本的HashShuffleManager四、优化版本的HashShuffleManager五、SortShuffleManager六、ByPass机制七、Shuffle的调优这里有一篇大佬的博客,贼详细——Shuffle过程详解一、什么是Shuffleshuffle是分布式计算中,不可缺少的一个部分,同时也是分布式计算中性能消耗最大的部分。二、 Spark中的Shuffle的演化流程spark最早的Shu原创 2020-10-13 08:01:22 · 376 阅读 · 0 评论 -
【大数据开发】SparkCore——利用广播变量优化ip地址统计、Spark2.x自定义累加器
一、Broadcast广播变量两句关键语句// 封装广播变量1. val broadcast = sc.broadcost(可序列化对象)// 使用value可以获取广播变量的值2. broadcoast.value⼴播变量的过程如下:(1) 通过对⼀个类型 T 的对象调⽤ SparkContext.broadcast 创建出⼀个 Broadcast[T] 对象。 任何可序列化的类型都可以这么实现。自定义的类型应实现可序列化特质。(2) 通过 value 属性访问该对象的值(在 Java原创 2020-10-12 09:15:58 · 1506 阅读 · 0 评论 -
【大数据开发】SparkCore——写入HDFS、自定义分区器、RDD算子、TopN综合练习
在桌面创建一个文件,内容如下hello world java hadoop java spark hadoop SPARK HADOOPJAVA LINUX SPARK JAVA HELLO HBASE CENTOS LINUX hbaseSpark Java Hello Spark Scala Hadoop MapReduce mapreduce123 456 789 123 12统计每一个单词出现的次数,不要统计数字的次数,忽略大小写(spark、Spark、SPARK是同一个单词,..原创 2020-10-10 20:53:25 · 546 阅读 · 1 评论 -
【大数据开发】SparkCore——自定义排序、实现序列化、自定义分区器
文章目录一、自定义排序、实现序列化二、案例:自定义分区器一、自定义排序、实现序列化样例类实现、普通类实现两种方式第三种方式可以不实现序列化接口用的最多的还是第四种方式,第四种方式不需要封装类,直接使用元组即可但是第四种方式有一定局限,如果不是Int类型则不能使用负号进行排序import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}import org.junit.Test/** * 自原创 2020-10-09 19:08:03 · 213 阅读 · 1 评论 -
【大数据开发】Spark报错object not serializable (class: day05.Student2, value: day05.Student2@4aaa6d4)
自定义排序器(普通类,不是样例类)时报错org.apache.spark.SparkException: Job aborted due to stage failure: Task 0.0 in stage 0.0 (TID 0) had a not serializable result: day05.Student2Serialization stack: - object not serializable (class: day05.Student2, value: day05.Student原创 2020-10-09 17:51:08 · 216 阅读 · 0 评论 -
【大数据开发】SparkCore——RDD持久化、checkpoint检查点机制、cache和checkpoint比较
文章目录一、RDD的缓存(持久化)二、checkpoint检查点机制三、cache和checkpoint比较一、RDD的缓存(持久化)RDD的缓存有两种方法(1)cache()(2)persist()如果需要自定义缓存等级,那么使用persist(),cache()的缓存等级为MEMORY_ONLY,使用cache()的缺点是:机器宕机则会内存数据丢失、内存溢出使用比较多的缓存等级为MEMORY_AND_DISK通过查看webUI8080端口可以查看缓存在内存中的数据,在DAG有向图中显示为绿原创 2020-10-09 15:31:03 · 348 阅读 · 1 评论 -
【大数据开发】SparkCore——统计广告topN、基站停留时间topN、ip地址统计练习
材料准备新建一个object文件存放所有案例文件的路径对象object ExampleConstants { // 广告统计案例的文件路径 val PATH_ADS: String = "...\\案例数据\\统计广告ID\\ad.log" // 基站停留案例的父级路径 val PATH_LAC: String = "...\\案例数据\\基站停留时间TopN" val PATH_LAC_INFO: String = "...\\案例数据\\基站停留时间TopN原创 2020-10-05 17:26:47 · 631 阅读 · 0 评论 -
【大数据开发】SparkCore——进阶算子、Action算子、查看分区数的三种方式
源代码中的大写V,指的是value rdd.getNumberPartitions获取分区数量Action算子的返回值一般情况下不会是RDD[U,T]类型的,会返回一个具体的类型一、进阶算子准备工作 val sc: SparkContext = new SparkContext(new SparkConf().setMaster("local").setAppName("RDD-complicated"))1.1 aggregateByKey * Transformation算子:.原创 2020-09-29 20:59:38 · 246 阅读 · 0 评论 -
【大数据开发】SparkCore——Spark作业执行流程、RDD编程的两种方式、简单算子
一、Spark作业执行流程图片二、RDD编程2.1创建RDD的⼆种⽅式:1.从集合中创建RDD2.从外部存储创建RDD2.2Transformation算⼦RDD中的所有转换都是延迟加载的,也就是说,它们并不会直接计算结果。相反的,它们只是记住这些应⽤到基础数据集(例如⼀个⽂件)上的转换动作。只有当发⽣⼀个要求返回结果给Driver的动作时,这些转换才会真正运⾏。这种设计让Spark更加有效率地运⾏2.3Action算子在RDD上运⾏计算,并返回结果给Driver或写⼊⽂件系统三、简原创 2020-09-28 23:40:55 · 694 阅读 · 1 评论 -
【大数据开发】SparkCore——spark小细节、wordcount
一、spark小细节spark主节点默认端口号为7077(用于内部通信)spark的webui端口号是8080spark历史任务的webui端口为4000spark选择不配置环境变量,这是因为spark中sbin下的start-all.sh 和 stop-all.sh命令和hadoop中的命令冲突了./spark-submit --master如果不指定的话也可以,但是是变化了local模式spark shell一般情况下都是用于做测试,退出spark shell命令为:quit使用local原创 2020-09-27 22:17:59 · 273 阅读 · 0 评论 -
【大数据开发】Spark——厦门大学数据库实验室
厦门大学数据库实验室原创 2020-10-05 23:21:13 · 1616 阅读 · 0 评论