spark2
kyle0349
这个作者很懒,什么都没留下…
展开
-
【spark2】【源码学习】【分区数】spark读取 hdfs/可分割/多个 的文件时是如何划分分区
一、简要概述1、goalSize从单个文件totalSize/minPartitions变成多个文件totalSize/minPartitions,2、然后依旧是通过goalSize,minSize,blockSize计算出splitSize,3、最后将splitSize单独应用到每个文件上面,将所有分区加起来就是最后得到的总分区了。二、minPartitions设置为3的分片情况三、minPartitions设置为2的分片情况总结、参考 【spark读取 本地/可分割/多个 的文件原创 2020-10-25 15:50:04 · 449 阅读 · 1 评论 -
【spark2】【源码学习】【分区数】spark读取 hdfs/可分割/单个 的文件时是如何划分分区
前言spark怎么知道读取的是本地文件还是hdfs的文件呢?前面写过一篇博客【spark2的textFile()是怎么实例化各个不同的fs(FileSystem)】,主要是指【本地文件系统】和【hadoop文件系统】,我们看到源码里最后是根据文件路径url的scheme来判断的:file: LocalFileSystemhdfs: DistributeFileSystem1、从InputSplit[] getSplits(JobConf job, int numSplits)说起因为前部分原创 2020-10-18 23:39:59 · 538 阅读 · 0 评论 -
【spark2】【源码学习】【分区数】spark读取 本地/可分割/多个 的文件时是如何划分分区
spark的textFile API 支持读取单个文件,也支持读取文件夹路径并将文件夹路径下的文件都读取进内存处理,前面已经写了一篇关于 【本地/可分割/单个】 文件的分区处理,今天来看下 【本地/可分割/多个】 文件是怎么处理的。一、简要概述1、goalSize从单个文件totalSize/minPartitions变成多个文件totalSize/minPartitions,2、然后依旧是通过goalSize,minSize,blockSize计算出splitSize,3、最后将splitS.原创 2020-10-18 11:41:40 · 755 阅读 · 2 评论 -
【spark2】【源码学习】【代码】spark2的textFile()是怎么实例化各个不同的fs(FileSystem)
参考博客内 “【spark2】【源码学习】【分区数】spark读取 本地/可分割/单个 的文件时是如何划分分区”, 直接跳到 getPartitions 这个方法。一、获取RDD分区的函数 getPartitions()// HadoopRDD.scala override def getPartitions: Array[Partition] = { val jobConf = getJobConf() // add the credentials here as this c.原创 2020-10-11 22:07:13 · 240 阅读 · 0 评论 -
【spark2】【源码学习】【分区数】spark读取 本地/可分割/单个 的文件时是如何划分分区
大数据计算中很关键的一个概念就是分布式并行计算,意思就是讲一份原始数据切分成若干份,然后分发到多个机器或者单个机器多个虚拟出来的内存容器中同时执行相同的逻辑,先分发(map),然后聚合(reduce)的一个过程。那么问题是原始文件是怎么切分的呢,在spark读取不同的数据源,切分的逻辑也是不同的。首先spark是有改变分区的函数的,分别是Coalesce()方法和rePartition()方法,但是这两个方法只对shuffle过程生效,包括参数spark.default.parallelism也只是对.原创 2020-10-06 17:15:00 · 1921 阅读 · 1 评论 -
【spark2】【源码学习】【环境编译】在idea导入spark源码,执行example并debug
一直想搞清楚spark读取不同数据源时的分区是怎么决定的,趁着国庆有时间终于下决心来做这个事。关于这个分区数,很多说法,最后决定自己看下源码,也算是接触spark源码的第一步吧。挺多坑,零零散散花了2天多的时间,总算跑通spark源码里面的example了。mark一下。一、spark源码包下载&解压spark下载传送门(可能需要翻墙)下载完,拷贝到自己想放的目录,双击即可解压得到项目文件夹。二、安装maven&scala2.1、 先到刚刚解压出来的spark源码根目录,打开.原创 2020-10-05 21:37:55 · 510 阅读 · 0 评论 -
CDH5.14 spark2.4.0配置python3 以及读取hive表
在cdh5.14上装好spark5.14后,如果使用pyspark的话,默认是使用系统的python,一般是python2.7配置使用python31、在各个节点上安装好python3,路径要一致2、在cdh的配置页面2.1、选择spark22.2、选择配置页签2.3、搜索env2.4、在spark2-conf/spark-env.sh 的 Spark 2 服务高级配置代码段(安全...原创 2019-11-12 22:06:43 · 1299 阅读 · 0 评论 -
cdh集群的spark2和jupyter集成
之前部门有小伙伴使用pandas做数据分析,使用的是jupyter做验证开发,后来要使用spark,所以尝试在jupyter写spark代码,这样做的案例貌似不多,可能是比较偏门的。1. 前提1.1、spark2已经安装好,在shell可以正常使用pyspark21.2、jupyter已经安装好,可以正常启动使用python32. 集成2.1、在cm页面添加spark和jupyter的关...原创 2019-08-18 16:18:20 · 643 阅读 · 0 评论 -
CDH5.14安装spark2
cdh5.14 默认自带的spark版本是1.6的,如果需要使用spark2,那么需要另外安装。官网上给出了CDH版本和spark2版本对应的说明以及离线安装包的地址,在安装时需要安装自己集群版本下载相应的spark2:https://www.cloudera.com/documentation/spark2/latest/topics/spark2_requirements.html1.下...原创 2019-08-18 13:49:20 · 1469 阅读 · 0 评论