
Spark
文章平均质量分 63
大数据技术与数仓
欢迎关注我的公众号【大数据技术与数仓】
回复【资料】领取大数据书籍与视频
展开
-
第十一篇|基于SparkSQL的电影分析项目实战
在之前的分享中,曾系统地介绍了Spark的基本原理和使用方式,感兴趣的可以翻看之前的分享文章。在本篇分享中,将介绍一个完整的项目案例,该案例会真实还原企业中SparkSQL的开发流程,手把手教你构建一个基于SparkSQL的分析系统。为了讲解方便,我会对代码进行拆解,完整的代码已上传至GitHub,想看完整代码可以去clone,记得给个Star。以下是全文,希望本文对你有所帮助。https://github.com/jiamx/spark_project_practise公众号『大数据技术与数仓』,原创 2020-11-23 13:29:21 · 3449 阅读 · 3 评论 -
第十篇SparkStreaming手动维护Kafka Offset的几种方式
Spark Streaming No Receivers 方式的createDirectStream 方法不使用接收器,而是创建输入流直接从Kafka 集群节点拉取消息。输入流保证每个消息从Kafka 集群拉取以后只完全转换一次,保证语义一致性。但是当作业发生故障或重启时,要保障从当前的消费位点去处理数据(即Exactly Once语义),单纯的依靠SparkStreaming本身的机制是不太理想的,生产环境中通常借助手动管理offset的方式来维护kafka的消费位点。本文分享将介绍如何手动管理Kafka原创 2020-11-12 17:04:13 · 596 阅读 · 2 评论 -
Spark的五种JOIN策略解析
JOIN操作是非常常见的数据处理操作,Spark作为一个统一的大数据处理引擎,提供了非常丰富的JOIN场景。本文分享将介绍Spark所提供的5种JOIN策略,希望对你有所帮助。本文主要包括以下内容:影响JOIN操作的因素Spark中JOIN执行的5种策略Spark是如何选择JOIN策略的影响JOIN操作的因素数据集的大小参与JOIN的数据集的大小会直接影响Join操作的执行效率。同样,也会影响JOIN机制的选择和JOIN的执行效率。JOIN的条件JOIN的条件会涉及字段之间的逻辑比较。根原创 2020-11-03 22:17:28 · 1749 阅读 · 0 评论 -
Spark SQL百万级数据批量读写入MySQL
Spark SQL读取MySQL的方式Spark SQL还包括一个可以使用JDBC从其他数据库读取数据的数据源。与使用JdbcRDD相比,应优先使用此功能。这是因为结果作为DataFrame返回,它们可以在Spark SQL中轻松处理或与其他数据源连接。JDBC数据源也更易于使用Java或Python,因为它不需要用户提供ClassTag。可以使用Data Sources API将远程数据库中的表加载为DataFrame或Spark SQL临时视图。用户可以在数据源选项中指定JDBC连接属性。 user原创 2020-11-03 22:05:37 · 4338 阅读 · 1 评论 -
第七篇|Spark平台下基于LDA的k-means算法实现
本文主要在Spark平台下实现一个机器学习应用,该应用主要涉及LDA主题模型以及K-means聚类。通过本文你可以了解到:文本挖掘的基本流程LDA主题模型算法K-means算法Spark平台下LDA主题模型实现Spark平台下基于LDA的K-means算法实现1.文本挖掘模块设计1.1文本挖掘流程文本分析是机器学习中的一个很宽泛的领域,并且在情感分析、聊天机器人、垃圾邮件检测、推荐系统以及自然语言处理等方面得到了广泛应用。文本聚类是信息检索领域的一个重要概念,在文本挖掘领域有着广泛的应原创 2020-08-04 22:47:02 · 1005 阅读 · 0 评论 -
第六篇|Spark MLlib机器学习(1)
MLlib是Spark提供的一个机器学习库,通过调用MLlib封装好的算法,可以轻松地构建机器学习应用。它提供了非常丰富的机器学习算法,比如分类、回归、聚类及推荐算法。除此之外,MLlib对用于机器学习算法的API进行了标准化,从而使将多种算法组合到单个Pipeline或工作流中变得更加容易。通过本文,你可以了解到:什么是机器学习大数据与机器学习机器学习分类Spark MLLib介绍机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器原创 2020-08-03 22:50:41 · 687 阅读 · 0 评论 -
第五篇|Spark-Streaming编程指南(2)
第四篇|Spark-Streaming编程指南(1)对Spark Streaming执行机制、Transformations与Output Operations、Spark Streaming数据源(Sources)、Spark Streaming 数据汇(Sinks)进行了讨论。本文将延续上篇内容,主要包括以下内容:有状态的计算基于时间的窗口操作持久化检查点Checkpoint使用DataFrames & SQL处理流数据有状态的计算updateStateByKey上一篇文章中原创 2020-08-02 18:50:45 · 307 阅读 · 0 评论 -
第四篇|Spark Streaming编程指南(1)
Spark Streaming是构建在Spark Core基础之上的流处理框架,是Spark非常重要的组成部分。Spark Streaming于2013年2月在Spark0.7.0版本中引入,发展至今已经成为了在企业中广泛使用的流处理平台。在2016年7月,Spark2.0版本中引入了Structured Streaming,并在Spark2.2版本中达到了生产级别,Structured Streaming是构建在Spark SQL之上的流处理引擎,用户可以使用DataSet/DataFreame API进原创 2020-07-29 22:08:08 · 492 阅读 · 1 评论 -
第三篇|Spark SQL编程指南
在《第二篇|Spark Core编程指南》一文中,对Spark的核心模块进行了讲解。本文将讨论Spark的另外一个重要模块–Spark SQL,Spark SQL是在Shark的基础之上构建的,于2014年5月发布。从名称上可以看出,该模块是Spark提供的关系型操作API,实现了SQL-on-Spark的功能。对于一些熟悉SQL的用户,可以直接使用SQL在Spark上进行复杂的数据处理。通过本文,你可以了解到:Spark SQL简介DataFrame API&DataSet APICata原创 2020-07-29 22:02:19 · 361 阅读 · 0 评论 -
第二篇|Spark core编程指南
在《第一篇|Spark概览》一文中,对Spark的整体面貌进行了阐述。本文将深入探究Spark的核心组件–Spark core,Spark Core是Spark平台的基础通用执行引擎,所有其他功能均建立在该引擎之上。它不仅提供了内存计算功能来提高速度,而且还提供了通用的执行模型以支持各种应用程序,另外,用户可以使用Java,Scala和Python API开发应用程序。Spark core是建立在统一的抽象RDD之上的,这使得Spark的各个组件可以随意集成,可以在同一个应用程序中使用不同的组件以完成复杂的原创 2020-07-23 09:46:19 · 249 阅读 · 0 评论 -
第一篇|Spark概览
Apache Spark最初在2009年诞生于美国加州大学伯克利分校的APM实验室,并于2010年开源,如今是Apache软件基金会下的顶级开源项目之一。Spark的目标是设计一种编程模型,能够快速地进行数据分析。Spark提供了内存计算,减少了IO开销。另外Spark是基于Scala编写的,提供了交互式的编程体验。经过10年的发展,Spark成为了炙手可热的大数据处理平台,目前最新的版本是Spark3.0。本文主要是对Spark进行一个总体概览式的介绍,后续内容会对具体的细节进行展开讨论。本文的主要内容包原创 2020-07-17 09:31:01 · 310 阅读 · 0 评论 -
Spark性能调优
1.系统资源使用核心调优参数如下: (1)num-executors :该参数一定会被设置, Yarn会按照Driver 的申请最终为当前的Application 生产指定个数的Executors。实际生产环境下分配80 个左右的Executors比较合适。 (2)executor-memory: 与JVM OOM 紧密相关,很多时候甚至决定了Spar...原创 2019-03-08 12:12:23 · 277 阅读 · 0 评论 -
hue集成Oozie工作流调度之Spark2 Workflow
一、环境准备CDH5.15.0,spark2.3.0,hue3.9.0注意:由于使用的是CDH集群,默认的spark版本为1.6.0,又通过parcel包的方式安装了spark2.3.0,此时集群存在两个spark版本。而hue集成的是spark1.6,需要将spark2的jar包和oozie-sharelib-spark*.jar上传到hue的share lib中,目录 为:/user/...原创 2018-10-25 18:35:15 · 2484 阅读 · 1 评论 -
RDD转换成DataFrame的两种方式
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/jmx_bigdata/article/details/83584495原创 2018-10-31 15:11:15 · 2924 阅读 · 0 评论 -
Spark SQL的两种用户自定义聚合函数(UDAF)
一、概述DataFrames的内置函数提供了常见的聚合函数,比如count(), countDistinct(), avg(), max(), min()等,但是这些函数是为DataFrames而设计的,Spark SQL也有适用于强类型的Datasets的类型安全的函数。此外,用户也可以自定义聚合函数。自定义聚合函数有两种类型,一种是无类型的自定义聚合函数(适用于DataFrame),另一种...原创 2018-11-01 11:49:02 · 1981 阅读 · 0 评论 -
Spark SQL的数据源(Spark2.3.2)
版权声明:本文为博主原创(翻译)文章,未经博主允许不得转载。https://blog.youkuaiyun.com/jmx_bigdata/article/details/83619838目录一、 普通的Load/Save方式 1. 手动指定文件格式2.使用SQL直接查询文件3.保存模式4.保存为永久的表5. 分桶、排序与分区二、Parquet文件1.编程的方式加载数据...原创 2018-11-01 14:25:38 · 1610 阅读 · 0 评论 -
Spark SQL性能调优(Spark2.3.2)
对于某些工作负载,可以通过在内存中缓存数据或打开一些实验选项来提高性能。1.在内存中缓存数据Spark SQL可以通过调用spark.catalog.cacheTable("tableName")或dataFrame.cache()使用内存中的列式格式来缓存表。然后,Spark SQL将仅扫描所需的列,并自动调整压缩以最小化内存使用和GC压力。您可以调用spark.catalog.unca...翻译 2018-11-02 17:58:59 · 1210 阅读 · 0 评论 -
使用Spark Core改写SQL语句实现的功能
对于一张数据表,如下图所示对上述表实现分组统计查询: select pageid,age,count(1) from pv_users group by pageid,age;将上述的SQL查询语句改写成Spark的代码,如下:package com.company.sparkcoreimport org.apache.spark.{SparkConf, SparkConte...原创 2018-11-13 10:43:03 · 787 阅读 · 0 评论 -
spark性能优化
转自:https://www.iteblog.com/archives/1672.html在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。 然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对...转载 2019-03-08 15:47:53 · 304 阅读 · 0 评论 -
Spark2.X的内存管理模型
Spark2.X的内存管理模型如下图所示:Spark中的内存使用大致包括两种类型:执行和存储。执行内存是指用于用于shuffle、join、排序、聚合等计算的内存,而存储内存是指用于在集群中持久化和广播内部数据的内存。在Spark中,执行内存和存储内存共享一个统一的区域。当没有使用执行内存时,存储内存可以获取所有可用内存,反之亦然。如有必要,执行内存可以占用存储存储,但仅限于总存储内存使用...原创 2019-03-08 17:31:21 · 929 阅读 · 0 评论 -
基于Hive的大数据实战项目
目录一、项目需求二、数据介绍三、创建表结构四、数据清洗五、数据加载六、业务数据分析七、原始数据一、项目需求1.统计视频观看数 Top102.统计视频类别热度Top103.统计出视频观看数最高的20个视频的所属类别以及类别包含这Top20视频的个数4.统计视频观看数Top50所关联视频的所属类别的热度排名5.统计每个类别中的视频热度Top10...原创 2019-02-27 12:57:30 · 9376 阅读 · 12 评论 -
Spark core分组取topN案例
描述:在HDFS上有订单数据order.txt文件,文件字段的分割符号",",样本数据如下: Order_00001,Pdt_01,222.8 Order_00001,Pdt_05,25.8 Order_00002,Pdt_03,522.8 Order_00002,Pdt_04,122.4 Order_00002,Pdt_05,722.4 ...原创 2018-10-24 17:17:03 · 998 阅读 · 0 评论