-
单机版Spark安装及PySpark环境配置
单机版Spark安装 到官网http://archive.apache.org/dist/spark/ 下选择版本下载spark包,本次采用的是预编译版本 选择spark-1.6.1-bin-hadoop2.6.tgz 解压到/opt/目录下 tar -xvzf spark-1.6.1-bin-hadoop2.6.tgz -C /opt/ [root@hdp spark-1.6.1-bin-had…- 0
- 0
- 141
-
Spark- Linux下安装Spark
Spark- Linux下安装Spark 前期部署 1.JDK安装,配置PATH 可以参考之前配置hadoop等配置 2.下载spark-1.6.1-bin-hadoop2.6.tgz,并上传到服务器解压 [root@srv01 ~]# tar -xvzf spark-1.6.1-hadoop2.6.tgz /usr/spark-1.6.1-hadoop2.6 3.在 /usr 下…- 0
- 0
- 59
-
Spark- ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
报错 G:\APP\JDK\bin\java -Didea.launcher.port=7532 "-Didea.launcher.bin.path=G:\APP\IntelliJ IDEA\bin" -Dfile.encoding=UTF-8 -classpath "G:\APP\JDK\jre\lib\charsets.jar;G:\APP\JDK\…- 0
- 0
- 98
-
Spark- ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
运行 mport org.apache.log4j.{Level, Logger} import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** * Created by Lee_Rz on 2017/8/30. */ object SparkDemo { def main(args: A…- 0
- 0
- 121
-
Spark- Spark Yarn模式下跑yarn-client无法初始化SparkConext,Over usage of virtual memory
在spark yarn模式下跑yarn-client时出现无法初始化SparkContext错误. 17/09/27 16:17:54 INFO mapreduce.Job: Task Id : attempt_1428293579539_0001_m_000003_0, Status : FAILED Container [pid=7847,containerID=containe…- 0
- 0
- 60
-
Spark- Spark基本工作原理
Spark特点: 1.分布式 spark读取数据时是把数据分布式存储到各个节点内存中 2.主要基于内存(少数情况基于磁盘,如shuffle阶段) 所有计算操作,都是针对多个节点上内存的数据,进行并行操作的 3.迭代式计算 对分布式节点内存中的数据进行处理,处理后的数据可能会移动到其他节点的内存中,当需要用到某些数据时,从这些节点的内存中就能找到,迭代出来使用 Spark与MapRed…- 0
- 0
- 69
-
Spark- Spark内核架构原理和Spark架构深度剖析
Spark内核架构原理 1.Driver 选spark节点之一,提交我们编写的spark程序,开启一个Driver进程,执行我们的Application应用程序,也就是我们自己编写的代码。Driver会根据我们对RDD定义的操作,提交一大堆的task去Executor上。Driver注册了一些Executor之后,就可以开始正式执行我们的Spark应用程序了,首先第一步,创建初始RD…- 0
- 0
- 53
-
Spark- Spark普通Shuffle操作的原理剖析
在spark中,什么情况下会发生shuffle? reduceByKey,groupByKey,sortByKey,countByKey,join,cogroup等操作。 默认的shuffle操作的原理剖析 假设有一个节点上面运行了4个 ShuffleMapTask,然后这个节点上只有2个 cpu core。假如有另外一台节点,上面也运行了4个ResultTask,现在呢,正等着要去…- 0
- 0
- 40
-
Spark- 优化后的 shuffle 操作原理剖析
在spark新版本中,引入了 consolidation 机制,也就是说提出了ShuffleGroup的概念。一个 ShuffleMapTask 将数据写入 ResultTask 数量的本地文本,这个不会变。但是,当下一个 ShuffleMapTask 运行的时候,可以直接将数据写入之前的 ShuffleMapTask 的本地文件。相当于是,对多个 ShuffleMapTask 输出…- 0
- 0
- 35
-
Spark- Checkpoint原理剖析
Checkpoint,是Spark 提供的一个比较高级的功能。有的时候,比如说,我们的 Spark 应用程序,特别的复杂,然后从初始的RDD开始,到最后拯个应用程序完成,有非常多的步骤,比如超过20个transformation 操作。而且整个应用运行的时间也特别的长,比如通常要运行1-5小时。 在上述的情况下,就比较适合使用checkpoint 功能。因为,对于特别复杂的 Spar…- 0
- 0
- 61
-
Spark- 性能优化
由于Spark 的计算本质是基于内存的,所以Spark的性能城西的性能可能因为集群中的任何因素出现瓶颈:CPU、网络带宽、或者是内存。如果内存能够容得下所有的数据,那么网络传输和通信就会导致性能出现频惊。但是如果内存比较紧张,不足以放下所有的数据(比如在针对10亿以上的数据量进行计算时),还是需要对内存的使用进行性能优化的,比如说使用一些手段来减少内存的消耗。 Spark性能优化,其…- 0
- 0
- 58
-
JAVA- 数据库连接池原理
第一次Java程序要在MySQL中执行一条语句,那么就必须建立一个Connection对象,代表了与MySQL数据库的连接通过直接发送你要执行的SQL语句之后,就会调用Connection.close()来关闭和销毁与数据库的连接。为什么要立即关闭呢?因为数据库的连接是一种很重的资源,代表了网络连接、IO等资源。所以如果不是用的话就需要尽早关闭,以避免资源浪费。 JDBC的劣势与不足…- 0
- 0
- 53
-
Spark- RDD简介
Spark里面提供了一个比较重要的抽象——弹性分布式数据集(resilient distributed dataset),简称RDD。弹性:数据可大可小,可分布在内存或磁盘,当某台机器宕机时,能够按照RDD的liveage重新计算,从而恢复。 RDD有5个特性: 1.一个分区列表,用于并行计算,每个分区对应一个原子数据集,作为这个分区的数据输入 2.计算这个RDD某个分区数据(这个分…- 0
- 0
- 54
-
Spark- SparkStreaming可更新状态的实例
Producer package zx.zx.sparkkafka import java.util.Properties import kafka.producer.{KeyedMessage, Producer, ProducerConfig} import scala.util.Random /** * Created by 166 on 2017/9/6. */ object…- 0
- 0
- 69
-
Spark- 计算每个学科最受欢迎的老师
日志类型 测试数据 http://bigdata.myit.com/zhangsan http://bigdata.myit.com/zhangsan http://bigdata.myit.com/zhangsan http://bigdata.myit.com/zhangsan http://bigdata.myit.com/zhangsan http://java.myit.c…- 0
- 0
- 58
-
Kafka- Spark消费Kafka
在高版本的API中 val brokers = properties.getProperty("kafka.host.list") val topics = Set(properties.getProperty("kafka.application.topic")) val kafkaParams = Map[String, String]( …- 0
- 0
- 41
-
Spark-Spark setMaster & WordCount Demo
Spark setMaster源码 /** * The master URL to connect to, such as "local" to run locally with one thread, "local[4]" to * run locally with 4 cores, or "spark://master:7077&…- 0
- 0
- 76
-
Spark- Transformation实战
RDD的算子分为两类,是 Trans formation(Lazy),一类是 Action(触发任务执行 RDD不存在真正要计算的数据,而是记录了RDD的转换关系(调用了什么方法,传入什么函数) RDD的 Trans formation的特点 1. lazy 2.生成新的RDD package cn.rzlee.spark.core import org.…- 0
- 0
- 55
-
Spark- Action实战
Spark- Action实战 package cn.rzlee.spark.core import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object ActionOperation { def main(args: Array[String]): Unit…- 0
- 0
- 47
-
Spark- RDD持久化
官方原文: RDD Persistence One of the most important capabilities in Spark is persisting (or caching) a dataset in memory across operations. When you persist an RDD, each node stores any partitions …- 0
- 0
- 56
-
Spark- 共享变量
Shared Variables Normally, when a function passed to a Spark operation (such as map or reduce) is executed on a remote cluster node, it works on separate copies of all the variables used in the…- 0
- 0
- 63
-
Spark- 使用hiveContext时提交作业报错
在spark上操作hive时不需要搭建hive环境,只需要从现有的hive集群中hive的conf目录下拷贝 hive-site.xml 到spark的conf目录下即可提交程序运行 出现报错 Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BONEC…- 0
- 0
- 37
-
Spark- 使用第三方依赖解析IP地址
使用 github上已有的开源项目 1)git clone https://github.com/wzhe06/ipdatabase.git 2)编译下载的项目: mvn clean package- DskipTests 3)安装jar包到自己的 maven仓库 mvn install: install-file -Dfile=${编译的jar包路径}/target/ipdatab…- 0
- 0
- 83
-
Spark- 根据ip地址计算归属地
主要考察的是广播变量的使用: 1、将要广播的数据 IP 规则数据存放在HDFS上,(广播出去的内容一旦广播出去产就不能改变了,如果需要实时改变的规则,可以将规则放到Redis中) 2、在Spark中转成RDD,然后收集到Driver端, 3、把 IP 规则数据广播到Executor中。Driver端广播变量的引用是怎样跑到 Executor中的呢? Task在Driver端生成的,…- 0
- 0
- 117
-
Spark- 自定义排序
考察spark自定义排序 方式一:自定义一个类继承Ordered和序列化,Driver端将数据变成RDD,整理数据转成自定义类类型的RDD,使用本身排序即可。 package com.rz.spark.base import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} // 自定…- 0
- 0
- 53
-
Spark- JdbcRDD以及注意事项
先上Demo package com.rz.spark.base import java.sql.DriverManager import org.apache.spark.rdd.JdbcRDD import org.apache.spark.{SparkConf, SparkContext} object JdbcRDDDemo { def main(args: Array[St…- 0
- 0
- 26
-
Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法
在SparkSQL中获取Row的值,而且Row的字段允许null时,在取值的时候取到null赋值给新的变量名会报NullPointerException错误, 可以先用row.isNullAt(index)去判断该字段的值是否为空 首先上错误 修改为先初始化变量,判断row.isNullAt(6) 如果不为空就将值赋值给变量- 0
- 0
- 84
-
Spark- 求最受欢迎的TopN课程
数据库操作工具类 package com.rz.mobile_tag.utils import java.sql.{Connection, DriverManager, PreparedStatement} object MySQLUtils { /** * 获取数据库连接 * @return */ def getConnection()={ DriverManager.getCon…- 0
- 0
- 71
-
Spark- 数据清洗
输入输出转化工具类 package com.rz.mobile_tag.log import org.apache.spark.sql.Row import org.apache.spark.sql.types.{LongType, StringType, StructField, StructType} /** * 访问日志转换(输入==>输出)工具类 */ object A…- 0
- 0
- 78
-
Spark- 常见问题
记录spark使用中常见问题 SparkSQL 日期解析时用到SimpleDateFormat, SimpleDateFormat是线程不安全的。可以使用 FastDateFormat 如: import org.apache.commons.lang3.time.FastDateFormat // 输入文件日期时间格式 // [10/Nov/2018:00:01:02 +0800]…- 0
- 0
- 49
-
spark- PySparkSQL之PySpark解析Json集合数据
PySparkSQL之PySpark解析Json集合数据 数据样本 12341234123412342|asefr-3423|[{"name":"spark","score":"65"},{"name":"airlow","score":&quo…- 0
- 0
- 52
-
Spark- Spark从SFTP中读取zip压缩文件数据做计算
我们遇到个特别的需求,一个数据接入的流程跑的太慢,需要升级为用大数据方式去处理,提高效率。 数据: 数据csv文件用Zip 压缩后放置在SFTP中 数据来源: SFTP 数据操作: 文件和它的压缩包一致,后缀不同。文件名中包含渠道、日期、操作标记("S"追加,"N"全量,"D"删除) 升级前的操作方式: she…- 0
- 0
- 98