![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
丧心病狂の程序员
不可回收的程序员
展开
-
一种解决spark解析json文件出现_corrupt_record异常的方法
使用下面由scala编写的spark程序读取json文件时,json格式解析异常。val dfjs = sc.read.json("test.json")dfjs.printSchema()解析出来的异常json格式为root |-- _corrupt_record: string (nullable = true)test.json 文件内容为:{ "a":"123"}通过分析json文件内容可知,这是由于多余的换行符导致spark的json解析器没有正确解析。网络上有通过添加原创 2020-07-11 13:19:58 · 2158 阅读 · 0 评论 -
scala语言中case关键字的三种用途,以及在spark中的一种特殊用法
在scala中,case关键字有多种用途可以用作模式匹配,例如 var arr = Array(1,2,3,4,5,6) arr.foreach(i => { case 1 => println("==1") case _ => println("!=1") })可以使用在类class前面声明为case classclass之前添加case可以自动生成equal、hashcode、toString、copy方法和他的伴原创 2020-07-09 21:32:40 · 6586 阅读 · 0 评论 -
PySpark MLlib HashingTF源码分析
在处理文本数据,尤其是自然语言处理的场景中,hashingTF使用的比较多。Mllib使用hashing trick实现词频。元素的特征(即词)应用一个hash函数映射到一个索引,通过这个索引计算词频。这个方法避免计算全局的词-索引映射,因为全局的词-索引映射在大规模语料中花费较大。 def __init__(self, numFeatures=1 << 20): self.numFeatures = numFeatures self.binary =.原创 2020-07-07 01:09:55 · 636 阅读 · 1 评论 -
spark中通过rdd、dataframe和spark sql实现相同sql运行速度对比(实测)
决定做一个非常无聊的实验,众所周知现在使用spark进行数据分析一般采用rdd分布式编程、dataframe接口和使用spark sql执行的方式,那么在忽略数据加载速度的情况下,究竟哪种方式的运行速度最快呢?至于rdd和dataframe数据集的原理和区别,我就不在这里介绍了,可以看RDD DataFrame Dataset 三者的优缺点 , 三者之间的创建 , 以及相互转换这篇文章。数据集...原创 2019-09-12 00:53:50 · 5583 阅读 · 4 评论 -
如何使用spark-submit提交sparkSQL任务
前言本文介绍了使用java开发spark sql应用程序提交到yarn上运行的全过程,并介绍解决了一些开发和提交中常见的问题。准备首先我们要搭建好spark on yarn的集群环境,我是用cdh安装和cloudera manager进行维护的。这里用到的组件主要有yarn、hdfs和hive。对于开发人员来说唯一要准备的就是代码开发环境,使用idea创建一个maven项目,在pom....原创 2019-08-27 21:50:46 · 11437 阅读 · 0 评论 -
Spark SQL内核剖析(三)
物理计划阶段是Spark SQL整个查询处理流程的最后一步,在此阶段Spark SQL会对生成的逻辑算子树进行进一步处理,得到物理算子树,并将LogicalPlan节点及其包含的各种信息映射成Spark Core计算模型的元素,如RDD、Transformation和Action等,以支持其提交执行。原创 2019-08-16 23:26:05 · 466 阅读 · 0 评论 -
Spark SQL内核剖析(一)
在这一节简单介绍了Spark涉及到的几个简单技术,包括RDD编程模型、DataFrame和DataSet用户接口。简单介绍了Spark SQL内部机制中设计的基本概念。Spark SQL 内部实现上述流程中平台无关部分的基础框架叫做Catalyst,其中涉及的几种数据结构和概念如下。在Spark SQL 内部实现中,InternalRow就是用来表示一行行数据的类,物理算子树所产生的RDD即为RDD[InternalRow],包含numFields和update方法,以及各列数据对应的get和set方原创 2019-08-12 18:43:39 · 1441 阅读 · 0 评论 -
Spark SQL内核剖析(二)
本部分将介绍Spark SQL 编译器 Parser的实现方式以及Spark SQL逻辑算子树生成、分析和优化流程的技术原理和实现方式。原创 2019-08-15 00:12:31 · 935 阅读 · 0 评论 -
使用 maven 解决 spring boot 整合 spark 依赖冲突问题
spring整合spark依赖冲突在配置spring和spark的整合开发环境时,出现了很多编译错误,将其整理如下首先在选择开发环境版本时,我们考虑了集群的编译版本:[root@manager01 ~]# spark-shellSetting default log level to "WARN".To adjust logging level use sc.setLogLevel(ne...原创 2019-07-11 21:20:48 · 1335 阅读 · 0 评论 -
通过 spark sql 支持 elasticsearch 的多表(两表或以上) sql 关联查询
很多时候我们还不得不面临一些对elasticsearch中的多个索引的关联sql查询需求,这时候就只能使用spark-sql来实现。原创 2019-07-13 21:39:00 · 2817 阅读 · 0 评论 -
基于jupyter搭建pyspark编程环境
本文的前提是我们已经在linux系统上基于cdh实现了Spark on Yarn集群的搭建。python的版本选择上,我们选择python2.7版本,安装方式选择anconda安装,这里就不详细赘述了。一、pyspark的导入找到“/opt/cloudera/parcels/CDH-5.10.2-1.cdh5.10.2.p0.5/lib/spark/python/pyspark”即spar...原创 2018-12-19 11:25:33 · 1575 阅读 · 5 评论