Spark
是谁注册了我的2052
给我2052
展开
-
让Hive支持JSON解析
一:下载jar包下载:github网址: https://github.com/rcongiu/Hive-JSON-Serde二:安装使用1.把jar包拷贝到hive/lib目录下和spark/jars目录下2.在Hive建表语句中添加 row formart serde 'org.openx.data.jsonserde.JsonSerDe'使用该语句替代row format ...原创 2019-10-27 16:01:09 · 166 阅读 · 0 评论 -
SparkSQL解决数据倾斜实战介绍(适用于HiveSQL)
一:什么情况会出现数据倾斜?哪些情况会出现数据倾斜:1、shuffle的时候,如果这个产生shuffle的字段为空,会出现数据倾斜2、key有很多,分区数设置的过少,导致很多key聚集在一个分区出现数据倾斜3、当某一个表中某一个key数据特别多,然后使用group by 就会出现数据倾斜4、大表 join 小表 ,这两个表中某一个表有某一个key或者某几个key数据比较多,会出现数据倾...原创 2019-10-24 13:01:37 · 1317 阅读 · 0 评论 -
Spark参数调优经典实战
一:常用调优参数#配置文件,使用这个名称application.conf就可以自动读取#以下是spark的调优参数#自动广播spark.sql.autoBroadcastJoinThreshold="10485760"#spark sql shuffle并行度设置spark.sql.shuffle.partitions="200"#自动广播超时时间#spark.sql.broad...原创 2019-10-23 20:56:51 · 2219 阅读 · 0 评论 -
SparkGraphx图计算
一:图计算的作用 统一用户识别 求最短路径 社群发现 推荐算法(ALS)二:什么是GraphxGraphX 通过弹性分布式属性图扩展了 Sprak RDD。在图计算中,基本的数据结构表达就是:G = (V,E,D) V = vertex (顶点或者节点) E = edge (边) D = data (权重)。三:如何使用Graphx实现图计算//使用图计算object Gr...原创 2019-10-22 23:09:33 · 243 阅读 · 0 评论 -
spark-submit参数调优
一:spark-submit 提交job的参数说明原创 2019-10-21 20:51:03 · 459 阅读 · 0 评论 -
Spark整合Kudu的API
一:pom依赖<repositories> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> </repository...原创 2019-10-19 20:07:50 · 550 阅读 · 0 评论 -
StructuredStreaming自定义落地到JDBC
1.使用场景:收集业务系统数据–>数据处理–>放入 OLTP 数据–>外部通过 ECharts 获取并处理数据2.StructuredStreaming的落地问题:在 Structured Streaming 中, 并未提供完整的 MySQL/JDBC 整合工具不止 MySQL 和 JDBC, 可能会有其它的目标端需要写入很多时候 Structured Streamin...原创 2019-10-16 20:57:59 · 331 阅读 · 0 评论 -
SparkStreaming实时消费Kafka数据
一:编程前参考地址Spark官网: 关于kafka的依赖和kafka的配置http://spark.apache.org/docs/2.2.0/streaming-kafka-0-10-integration.html二:官网案例参考依赖groupId = org.apache.sparkartifactId = spark-streaming-kafka-0-10_2.11ver...原创 2019-10-14 21:04:11 · 375 阅读 · 0 评论 -
Spark窗口函数
窗口函数的适用范围:1.SparkSQL2.HiveSQL3.JDBC一:定义窗口函数和 GroupBy 最大的区别, 就是 GroupBy 的聚合对每一个组只有一个结果, 而窗口函数可以对每一条数据都有一个结果说白了, 窗口函数其实就是根据当前数据, 计算其在所在的组中的统计数据二:窗口函数的逻辑三:函数的组成从语法的角度上讲, 窗口函数大致分为两个部分dense_ran...原创 2019-10-12 09:33:49 · 403 阅读 · 0 评论 -
Spark自定义UDF和UDAF函数
前言:最然spark提供的算子和函数非常丰富,但是对于一些特殊的业务需求,还是自定义函数比较好用,自定义函数一般有UDF和UDAF,UDF就是一对一的函数,UDAF是一对多函数一:自定义UDF函数步骤:1.自定义方法–满足需求2.注册方法3.在sql语句中使用函数//需求:正常情况下员工的工号是8位,现在工号长度不够,需要使用0来补全object demo03 { privat...原创 2019-10-11 21:08:25 · 220 阅读 · 0 评论 -
SparkSQL处理缺失值
一:缺失值的处理方式1.常见的缺失值有两种1.null, NaN 等特殊类型的值, 某些语言中 null 可以理解是一个对象, 但是代表没有对象, NaN 是一个数字, 可以代表不是数字针对这一类的缺失值, Spark 提供了一个名为 DataFrameNaFunctions 特殊类型来操作和处理2.“Null”, “NA”, " " 等解析为字符串的类型, 但是其实并不是常规字符串数据...原创 2019-10-11 13:19:30 · 2455 阅读 · 0 评论 -
Spark读写JDBC数据
前言:使用spark去读取JDBC的数据,有三种读取方式,如果数据量特别大的时候,达到了亿级的数据量,最好使用分区的方式读取.否则容易出现OOM异常.文末再附pom依赖!一:读取数据的三种方式1.第一种方式(不指定分区)1.jdbc源码参数url:表示jdbc连接table:表示读取的表名properties:表示配置信息 def jdbc(url: String, table:...原创 2019-10-10 22:49:58 · 1702 阅读 · 0 评论 -
SparkSQL的读写框架
一:读框架DataFrameReader1.组件2.访问数据的两种方式class demo05 { //创建SparkSession入口 private val spark: SparkSession = SparkSession.builder().master("local[6]").appName("reader").getOrCreate() import spark....原创 2019-10-08 18:12:27 · 172 阅读 · 0 评论 -
Spark广播变量
一:广播变量的作用广播变量允许开发者将一个 Read-Only 的变量缓存到集群中每个节点中, 而不是传递给每一个 Task 一个副本.所以在需要跨多个 Stage 的多个 Task 中使用相同数据的情况下, 广播特别的有用二:广播变量的API三:广播变量的使用class demo04 { private val sc: SparkContext = new SparkConte...原创 2019-10-07 13:28:42 · 291 阅读 · 0 评论 -
SparkSQL的执行和优化过程
SparkSQL是基于RDD的,但是其执行效率又比RDD高,其原因就是因为SparkSQL的优化器–CatalystRDD执行效率低是因为RDD无法进行优化,其本身不具备数据scheme约束信息,无法得知数据的具体信息,然而SparkSQL一般用于结构化和半结构化数据,所以具备数据的scheme信息,可以对其进行优化处理一:SparkSQL的APISparkSQL的API有三种sqlDa...原创 2019-10-03 23:34:25 · 689 阅读 · 0 评论 -
SparkSql整合Hive
一:整合目的采用 SparkSql 与 hive 进行整合,通过 SparkSql 读取 hive 中表的元数据,把 HiveHQL 底层采用 MapReduce 来处理任 务,导致性能慢的特点,改为更加强大的 Spark 引擎来进行相应的分析处理二:整合前提1.安装好hadoop集群2.安装好Hive3.安装好Mysql4.安装好JDK5.安装好spark需要这些集群的搭建…...原创 2019-09-24 17:46:38 · 183 阅读 · 0 评论