
spark
yangbosos
这个作者很懒,什么都没留下…
展开
-
使用sbt构建spark 程序
今日在学习scala和spark相关的知识。之前在eclipse下编写了wordcount程序。但是关于导出jar包这块还是很困惑。于是学习sbt构建scala。关于sbt的介绍网上有很多的资料 参考:http://wiki.jikexueyuan.com/project/sbt-getting-started/install-sbt.html 关于linux下(centos)安装sb...转载 2018-07-19 15:35:12 · 673 阅读 · 0 评论 -
Zeppelin连接Spark实现SQLStdBasedAuthorization权限验证
1、zeppelin简介zeppelin是基于Web的可视化交互应用,以notebook为抽象提供服务,支持jdbc、spark、python、md、shell等解析器,其可视化功能非常强大,且提供定时任务和文档共享,非常方便数据分析使用。因为zeppelin先天对spark有很好的支持,故生产上采用它来作为使用spark计算引擎的接口,可是zeppelin的权限功能尚不完善,尤其与spark ...转载 2019-04-14 12:09:25 · 1040 阅读 · 0 评论 -
spark中sqlcontext的用法
vi people.json{"name":"zhangsan","job number":"101","age":33,"gender":"male","deptno":1,"sal":18000}{"name":"lisi","job number":"102","age":30,"gender":"male","deptno":2,"sal":20000}{"name":"wangwu...转载 2019-04-14 21:06:07 · 1068 阅读 · 0 评论 -
Spark运行原理
Spark提供的基于RDD的一体化解决方案,将MapReduce、Streaming、SQL、Machine Learning、Graph Processing等模型统一到一个平台下,并以一致的API公开,并提供相同的部署方案,使得Spark的工程应用领域变得更加广泛。本文主要分以下章节:一、Spark专业术语定义二、Spark运行基本流程三、Spark运行架构特点四、Sp...转载 2019-04-15 08:18:05 · 192 阅读 · 0 评论 -
spark基础综述
Spark特点1. 减少磁盘 I/O: MapReduce会将计算中间结果存储到 HDFS 上,后续计算再从 HDFS 上读取数据计算,这样势必造成磁盘 I/O 成为瓶颈。Spark将内容存储在内存中,减少了磁盘I/O,但是确增加了对内存的大量需求。2. 增加并行度:Spark任务划分为不同的 stage,允许多个 stage 即可以串行执行,又可以并行执行。3. 避免重新计算:...转载 2019-04-15 09:03:52 · 419 阅读 · 0 评论 -
spark+hive运行时没有写权限
当使用spark连接hive时,无论是通过spark-submit提交作业,还是使用spark-shell,spark-sql 都会报以下错误:Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS sho...转载 2019-04-22 16:59:42 · 2131 阅读 · 0 评论 -
集成Hive与Spark SQL及代码实现
结构上Hive On Spark和SparkSQL都是一个翻译层,把SQL翻译成分布式可执行的Spark程序。Hive和SparkSQL都不负责计算。hive编译如果不是采用CDH在线自动安装和部署的话,可能需要对源码进行编译,使它能够兼容HIVE。编译只需要在Spark_SRC_home(源码的home目录)执行如下命令:./make-distribution.sh --tgz -...转载 2019-04-23 09:06:39 · 507 阅读 · 0 评论 -
Spark2 sparkSession使用
package com.jdjr.city.demoimport org.apache.spark.sql.SparkSession/** * @Auther: hongwei * @Date: 2018/11/9 16:31 * @Description: SparkSession使用 */object Test4 { def main(args: A...转载 2019-04-28 18:15:32 · 1397 阅读 · 0 评论 -
Spark SQL(三):Parquet数据源
Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器升级为顶级项目。列式存储和行氏存储相比,有哪些优势?1、可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量;2、压缩编码可以降低磁盘存储空间,由于同一列的数据类型是一样的,可以使用更高效压缩编码(例如Run Length Encoding和Delta Enc...转载 2019-04-24 17:59:13 · 322 阅读 · 0 评论 -
RDD编程学习
RDD创建1、使用sc.textFile(“文件的路径”)从文件系统中加载,sc是SparkContext2、通过并行集合创建val array = Array(1,2,3,4,5)val rdd = sc.parallelize(array)//sc是SparkContextRDD操作转换得到的RDD是惰性操作,也就是说,整个转换( transformation)过程只是记...转载 2019-04-20 07:18:56 · 264 阅读 · 0 评论 -
RDD之flatMap与Map对比
定义首先我们列出flatMap与Map的定义,可参考RDD API def map[U](f: (T) ⇒ U)(implicit arg0: ClassTag[U]): RDD[U] Return a new RDD by applying a function to all elements of this RDD. def flatMap[U](f: (T) ⇒ T...转载 2019-04-20 08:14:53 · 247 阅读 · 0 评论 -
Spark 通过 spark-submit 设置日志级别
前言Spark有多种方式设置日志级别,这次主要记录一下如何在spark-submit设置Spark的日志级别。1、需求因为Spark的日志级别默认为INFO(log4j.rootCategory=INFO, console),这样在运行程序的时候有很多我不需要的日志信息都打印出来了,看起来比较乱,比较烦,抓不住重点,而我只想把warn和error打印出来。之前在测试环境或者在eclips...转载 2019-04-20 14:19:12 · 1846 阅读 · 0 评论 -
Spark spark-submit 提交的几种模式
local 模式package com.imooc.spark.Testimport org.apache.spark.sql.types.{StringType, StructField, StructType}import org.apache.spark.sql.{Row, SaveMode, SparkSession}/** * 测试sparkContext 案例 */...转载 2019-04-20 14:41:30 · 2281 阅读 · 0 评论 -
spark submit参数及调优
spark submit参数介绍你可以通过spark-submit --help或者spark-shell --help来查看这些参数。使用格式:./bin/spark-submit \ --class <main-class> \ --master <master-url> \ --deploy-mode <deploy-mode> \...转载 2019-05-26 17:30:08 · 179 阅读 · 0 评论 -
spark高可用集群搭建及运行测试
之前的文章spark集群的搭建基础上建立的,重复操作已经简写;之前的配置中使用了master01、slave01、slave02、slave03;本篇文章还要添加master02和CloudDeskTop两个节点,并配置好运行环境;一、流程:1、在搭建高可用集群之前需要先配置高可用,首先在master01上: [hadoop@master01 ~]$ cd /software/...转载 2019-04-21 19:03:15 · 513 阅读 · 0 评论 -
概览Spark Streaming 实时计算
四个问题:什么是Spark Streaming实时计算?Spark实时计算原理流程是什么?Spark 2.X下一代实时计算框架Structured StreamingSpark Streaming相对其他实时计算框架该如何技术选型?本文主要针对初学者,如果有不明白的概念可了解之前的博客内容。1、什么是Spark Streaming?与其他大数据框架Storm、Flink一样,Sp...转载 2019-04-13 20:23:13 · 499 阅读 · 0 评论 -
通过Spark Rest 服务监控Spark任务执行情况
1、Rest服务 Spark源为了方便用户对任务做监控,从1.4版本启用Rest服务,用户可以通过访问地址,得到application的运行状态。 Spark的REST API返回的信息是JSON格式的,开发者们可以很方便地通过这个API来创建可视化的Spark监控工具。目前 这个API支持正在运行的应用程序,也支持历史服务器。在请求URL都有/api/v1。比如,对于历史服务器...转载 2019-04-13 17:56:56 · 1450 阅读 · 0 评论 -
spark 推送数据至 elasticsearch
1.工程依赖<properties> <spark_version>2.3.1</spark_version> <!-- elasticsearch--> <elasticsearch.version>5.5.2</elasticsearch.version> <fastjson.ve...转载 2019-03-17 15:26:50 · 529 阅读 · 0 评论 -
spark 加载数据库mysql表中数据进行分析
1.工程maven依赖包<properties> <spark_version>2.3.1</spark_version> <!-- elasticsearch--> <elasticsearch.version>5.5.2</elasticsearch.version> <fastj...转载 2019-03-17 15:28:37 · 872 阅读 · 0 评论 -
Hive数据倾斜解决方法总结
Hive数据倾斜解决方法总结 数据倾斜是进行大数据计算时最经常遇到的问题之一。当我们在执行HiveQL或者运行MapReduce作业时候,如果遇到一直卡在map100%,reduce99%一般就是遇到了数据倾斜的问题。数据倾斜其实是进行分布式计算的时候,某些节点的计算能力比较强或者需要计算的数据比较少,早早执行完了,某些节点计算的能力较差或者由于此节点需要计算的数据比较多,导致出现其...转载 2019-03-17 18:10:45 · 214 阅读 · 0 评论 -
scala里SparkContext 设置spark master url
如果选择的部署模式是standalone且部署到你配置的这个集群上,可以指定 MASTER=spark://ubuntu:7070下面解答spark在那里指定master URL的问题:1.通过spark shell,执行后进入交互界面MASTER=spark://IP:PORT ./bin/spark-shell2.程序内指定(可以通过参数传入)val conf = new Spa...转载 2019-03-30 11:50:13 · 3314 阅读 · 0 评论 -
Kryo:快速、高效的序列化框架
Kryo是一个快速高效的Java序列化框架,旨在提供快速、高效和易用的API。无论文件、数据库或网络数据Kryo都可以随时完成序列化。Kryo还可以执行自动深拷贝(克隆)、浅拷贝(克隆)。这是对象到对象的直接拷贝,非对象->字节->对象的拷贝。安装Kryo JAR可以在发布页面和Maven中央仓库下载。Kryo最新镜像可以在Sonatype仓库找到,包括对master分支的...转载 2019-03-30 21:44:55 · 1092 阅读 · 0 评论 -
spark原理入门详解:包括生态、特点、概念等
1.Spark的适用场景是什么?2.spark 运行流程是怎样的?3.Spark Streaming的运行原理是怎样的?spark 生态及运行原理Spark 特点 运行速度快 => Spark拥有DAG执行引擎,支持在内存中对数据进行迭代计算。官方提供的数据表明,如果数据由磁盘读取,速度是Hadoop MapReduce的10倍以上,如果数据从内存中读取,速度可以高...转载 2019-04-02 17:08:02 · 217 阅读 · 0 评论 -
spark scala-读取各类数据源
1 读取hive数据/*** @author jhp * 使用spark读取Hive数据*/object HiveDataSource { def main(args: Array[String]): Unit = { val conf = new SparkConf() .setAppName("HiveDataSource")...翻译 2019-04-12 20:02:39 · 800 阅读 · 0 评论 -
Spark SQL下的Parquet使用最佳实践和代码实战
方法/步骤 1 一、SparkSQL下的Parquet使用最佳实践 1)过去整个业界对大数据的分析的技术栈的Pipeline一般分为以下两种方式: a)Data Source -> HDFS -> MR/Hive/Spark(相当于ETL)-> HDFS Parquet -> SparkSQL/Impala -> ResultService(可以...转载 2019-04-12 21:23:59 · 285 阅读 · 0 评论 -
SparkSQL UDF两种注册方式:udf() 和 register()
调用sqlContext.udf.register()此时注册的方法 只能在sql()中可见,对DataFrame API不可见用法:sqlContext.udf.register("makeDt", makeDT(_:String,_:String,_:String))示例:def makeDT(date: String, time: String, tz: String...转载 2019-04-12 22:53:01 · 1927 阅读 · 1 评论 -
Spark多种运行模式
基于Spark2.1.0版本和hadoop2.7.3版本)1,测试或实验性质的本地运行模式 (单机)该模式被称为Local[N]模式,是用单机的多个线程来模拟Spark分布式计算,通常用来验证开发出来的应用程序逻辑上有没有问题。其中N代表可以使用N个线程,每个线程拥有一个core。如果不指定N,则默认是1个线程(该线程有1个core)。如果是local[*],则代表 Run Spa...转载 2019-04-13 16:00:23 · 173 阅读 · 0 评论 -
Spark启动的master参数以及Spark的部署方式
初始化SparkConf时,或者提交Spark任务时,都会有master参数需要设置,如下: conf = SparkConf().setAppName(appName).setMaster(master) sc = SparkContext(conf=conf) /bin/spark-submit \ --cluster cluster_name \ ...转载 2019-04-13 16:07:22 · 1096 阅读 · 1 评论 -
Spark和Zeppelin探索movie-lens数据
MovieLens 100k数据包含有100,000条用户与电影的相关数据wget http://files.grouplens.org/datasets/movielens/ml-100k.zipunzip ml-100k.zip &&cd ml-100k#用户文件(ID,年龄,性别,职业,邮编)zhf@ubuntu:~/Downloads/ml-100k$ head ...转载 2019-04-21 09:50:27 · 355 阅读 · 0 评论 -
Spark Submit提交应用程序
使用spark-submit时,应用程序的jar包以及通过—jars选项包含的任意jar文件都会被自动传到集群中。spark-submit --class --master --jars 1、绑定应用程序依赖如果代码依赖于其它项目,为了将代码分发到Spark集群,就需要将这些依赖一起打包到应用程序中去。sbt和Maven都有装配插件,只要在创建集成的jar时列出Spark和Ha...转载 2019-04-13 17:53:17 · 729 阅读 · 0 评论 -
Spark2 sparkSession使用
sparkSession使用:package com.jdjr.city.demoimport org.apache.spark.sql.SparkSession/** * @Auther: hongwei * @Date: 2018/11/9 16:31 * @Description: SparkSession使用 */object Test4 { def ...转载 2019-05-26 17:56:47 · 2141 阅读 · 0 评论