![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 53
酱g
人望山 鱼窥荷
展开
-
Spark 读取excel csv
多了不说 少了不唠 直接上代码import org.apache.spark.sql.{DataFrame, SQLContext}import org.apache.spark.{SparkConf, SparkContext}/** * Created by lql on 2018/5/17. */object SparkReadFileCsv { def main(ar...原创 2018-05-23 17:25:07 · 8582 阅读 · 2 评论 -
spark hive2hbase
package com.sheinimport org.apache.hadoop.hbase.TableNameimport org.apache.hadoop.hbase.client.Putimport org.apache.hadoop.hbase.util.Bytesimport org.apache.spark.sql.SparkSessionobject Hive2H...原创 2018-12-20 20:43:42 · 326 阅读 · 2 评论 -
Spark 源码简单跟踪
本文介绍下Spark 到底是如何运行sc.TextFile(...).map(....).count() 这种代码的,从driver端到executor端。另外还有pid,iter都是哪来的呢? 如果你照着源码点进去你会很困惑。为莫名其妙怎么就有了这些iterator呢?Transform 和Action的来源一般刚接触Spark 的同学,都会被告知这两个概念。Transform就是R...原创 2018-10-19 14:04:58 · 188 阅读 · 0 评论 -
如何定义DataFrame的分区?
SPARK-22614公开了范围分区Spark> = 2.3.0val partitionedByRange = df.repartitionByRange(42, $"k")partitionedByRange.explain// == Parsed Logical Plan ==// 'RepartitionByExpression ['k ASC NULLS FIRS...原创 2018-11-17 16:50:22 · 2524 阅读 · 0 评论 -
SPARK 重命名DataFrame的列名
val df = Seq((2L, "a", "foo", 3.0)).toDFdf.printSchema// root// |-- _1: long (nullable = false)// |-- _2: string (nullable = true)// |-- _3: string (nullable = true)// |-- _4: double (nulla...原创 2018-12-03 14:40:32 · 25794 阅读 · 0 评论 -
SPARK ON YARN
译文:http://blog.cloudera.com/blog/2014/05/apache-spark-resource-management-and-yarn-app-models/为什么要在 YARN 上运行相比于在 Mesos 和 Standalone,在 YARN 运行有以下几个优势:在YARN可以支持同时管理在它上面运行的不同的框架的资源,你可以先把所有的资源运行一个 M...原创 2018-10-17 17:09:01 · 182 阅读 · 0 评论 -
spark partition、task、core、worker、excutor数量梳理
输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block。当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为InputSplit,注意InputSplit不能跨越文件。随后将为这些输入分片生成具体的Task。InputSplit与Task是一一对应的关系。随后这些具体的...原创 2018-10-16 11:50:55 · 1159 阅读 · 0 评论 -
Spark性能优化:shuffle调优
shuffle调优调优概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部分而已。...原创 2018-10-18 16:57:58 · 125 阅读 · 0 评论 -
Spark性能优化:数据倾斜调优
数据倾斜调优调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象 1、绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余...原创 2018-10-18 16:56:57 · 134 阅读 · 0 评论 -
Spark性能优化:开发调优篇
在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。 然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark作业进行合理的调优,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark...原创 2018-10-18 16:53:59 · 180 阅读 · 0 评论 -
Spark性能优化:资源调优篇
在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪...原创 2018-10-18 16:42:22 · 121 阅读 · 0 评论 -
spark map和mapPartitions区别
主要区别:map是对rdd中的每一个元素进行操作;mapPartitions则是对rdd中的每个分区的迭代器进行操作MapPartitions的优点:如果是普通的map,比如一个partition中有1万条数据。ok,那么你的function要执行和计算1万次。使用MapPartitions操作之后,一个task仅仅会执行一次function,function一次接收所有的p...原创 2018-09-01 11:51:53 · 4763 阅读 · 0 评论 -
spark map flatMap
使用说明在使用时map会将一个长度为N的RDD转换为另一个长度为N的RDD;而flatMap会将一个长度为N的RDD转换成一个N个元素的集合,然后再把这N个元素合成到一个单个RDD的结果集。比如一个包含三行内容的数据文件“word.md”。a a bc经过以下转换过程val textFile = sc.textFile("word.md")textFile.flatM...原创 2018-09-01 11:51:07 · 339 阅读 · 0 评论 -
如何跳过Spark中CSV文件的标题?
假设我提供了三个文件路径到Spark上下文来读取,每个文件在第一行中都有一个模式。我们如何从头文件中跳过架构线?val rdd=sc.textFile("file1,file2,file3") 现在,我们如何跳过此rdd的标题行? 从Spark 2.0开始,您可以使用SparkSession将其作为一个内容来完成:val spark = SparkSession.builde...原创 2018-08-17 17:32:36 · 3720 阅读 · 2 评论 -
sparksql 常用内置函数
聚合函数:approxCountDistinct, avg, count, countDistinct, first, last, max, mean, min, sum, sumDistinct集合函数:array_contains, explode, size, sort_array日期时间转换unix_timestamp, from_unixtime, to_date, ...原创 2018-08-01 12:44:20 · 2382 阅读 · 0 评论 -
sparksql 时间函数
一、获取当前时间1.current_date获取当前日期2018-04-092.current_timestamp/now()获取当前时间2018-04-09 15:20:49.2473.时间戳转换字符串格式 from_unixtime(cloumn,'yyyy-MM-dd HH:mm:ss')二、从日期时间中提取字段 1.year,month,day/dayofmonth,...原创 2018-07-14 14:20:55 · 13273 阅读 · 1 评论 -
Spark Streaming2.2.0 + Kafka整合
先从spark checkpointing说起如果启用Spark 检查点,则偏移量将存储在检查点中。这很容易实现,但也有缺点。您的输出操作必须是幂等的,因为您将获得重复输出; 交易不是一种选择。此外,如果应用程序代码已更改,则无法从检查点恢复。对于计划的升级,您可以通过在旧代码的同时运行新代码来缓解这种情况(因为无论如何输出都必须是幂等的,它们不应该发生冲突)。但是对于需要更改代码的计划外故障...原创 2018-12-28 11:02:18 · 1142 阅读 · 0 评论