Apache Spark

Spark 保存本地josn格式文件运行报错 IDEA运行异常java.lang.NoClassDefFoundError: org/apache/spark/api/java/function...

只谈情不闲聊 提交于 2021-01-06 01:58:47
报错信息: java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/ Function at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java: 2701 ) at java.lang.Class.privateGetMethodRecursive(Class.java: 3048 ) at java.lang.Class.getMethod0(Class.java: 3018 ) at java.lang.Class.getMethod(Class.java: 1784 ) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java: 544 ) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java: 526 ) Caused by: java.lang.ClassNotFoundException: org.apache.spark.api.java.function

IDEA运行异常java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function

◇◆丶佛笑我妖孽 提交于 2021-01-06 01:28:13
IDEA运行异常java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function 参考文章: (1)IDEA运行异常java.lang.NoClassDefFoundError: org/apache/spark/api/java/function/Function (2)https://www.cnblogs.com/parent-absent-son/p/10064856.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4437884/blog/4880868

【spark系列7】spark delta写操作ACID事务实现分析

只愿长相守 提交于 2021-01-05 16:11:30
背景 本文基于delta 0.7.0 spark 3.0.1 我们之前的 spark delta写操作ACID事务前传--写文件基础类FileFormat/FileCommitProtocol分析 分析了delta写数据的流程,但是还没分析deltalog 写数据的流程,这部分也是实现ACID的核心部分。 ##分析 直接到 WriteIntoDelta.run override def run(sparkSession: SparkSession): Seq[Row] = { deltaLog.withNewTransaction { txn => val actions = write(txn, sparkSession) val operation = DeltaOperations.Write(mode, Option(partitionColumns), options.replaceWhere, options.userMetadata) txn.commit(actions, operation) } Seq.empty } 我们来看一下 deltaLog.withNewTrancation 方法 : def withNewTransaction[T](thunk: OptimisticTransaction => T): T = { try { update()

漫谈数据仓库之维度建模

喜你入骨 提交于 2021-01-05 14:00:05
点击上方蓝色字关注我们~ 0x00 前言 下面的内容,是笔者在学习和工作中的一些总结,其中概念性的内容大多来自书中,实践性的内容大多来自自己的工作和个人理解。由于资历尚浅,难免会有很多错误,望批评指正! 概述 数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容: 以Hadoop、Spark、Hive等组建为中心的数据架构体系。 各种数据建模方法,如维度建模。 调度系统、元数据系统、ETL系统、可视化系统这类辅助系统。 我们暂且不管数据仓库的范围到底有多大,在数据仓库体系中,数据模型的核心地位是不可替代的。 因此,下面的将详细地阐述数据建模中的典型代表:维度建模,对它的的相关理论以及实际使用做深入的分析。 文章结构 本文将按照下面的顺序进行阐述: 先介绍比较经典和常用的数据仓库模型,并分析其优缺点。 详细介绍维度建模的基本概念以及相关理论。 为了能更真切地理解什么是维度建模,我将模拟一个大家都十分熟悉的电商场景,运用前面讲到的理论进行建模。 理论和现实的工作场景毕竟会有所差距,这一块,我会分享一下企业在实际的应用中所做出的取舍。 0x01 经典数据仓库模型 下面将分别介绍四种数据仓库模型,其中前三种模型分别对应了三本书:《数据仓库》、《数据仓库工具箱》和《数据架构 大数据 数据仓库以及Data Vault》,这三本书都有中文版

每个大数据工程师都应该知道的OLAP 核心知识点

陌路散爱 提交于 2021-01-05 12:00:36
OLAP 系统广泛应用于 BI, Reporting, Ad-hoc, ETL 数仓分析等场景,本文主要从体系化的角度来分析 OLAP 系统的核心技术点,从业界已有的 OLAP 中萃取其共性,分为谈存储,谈计算,谈优化器,谈趋势 4 个章节。 01 谈储存 列存的数据组织形式 行存,可以看做 NSM (N-ary Storage Model) 组织形式,一直伴随着关系型数据库,对于 OLTP 场景友好,例如 innodb[1] 的 B+ 树聚簇索引,每个 Page 中包含若干排序好的行,可以很好的支持 tuple-at-a-time 式的点查以及更新等;而列存 (Column-oriented Storage),经历了早期的 DSM (Decomposition Storage Model) [2],以及后来提出的 PAX (Partition Attributes Cross) 尝试混合 NSM 和 DSM,在 C-Store 论文 [3] 后逐渐被人熟知,用于 OLAP,分析型不同于交易场景,存储 IO 往往是瓶颈,而列存可以只读取需要的列,跳过无用数据,避免 IO 放大,同质数据存储更紧凑,编码压缩友好,这些优势可以减少 IO,进而提高性能。 列存的数据组织形式 对于基本类型,例如数值、string 等,列存可以使用合适的编码,减少数据体积,在 C-Store

京东城市时空数据引擎JUST亮相中国数据库技术大会

点点圈 提交于 2020-12-30 16:59:04
受疫情影响,第十一届中国数据库技术大会(DTCC 2020)从原定的5月份,推迟到了8月份,再推迟到了12月份。尽管如此,依然没有减退国人对数据库技术的热情。2020年12月21日-12月23日,北京国际会议中心人头攒动,各大厂商争奇斗艳。在NoSQL技术专场,京东智能城市研究院的李瑞远博士给大家带来了《京东城市时空数据引擎JUST的架构设计与应用实践》的主题报告,受到了大家的广泛关注。 李瑞远博士的个人简介:李瑞远,博士,京东城市时空数据组负责人,京东智能城市研究院研究员,京东智能城市事业部数据科学家,负责时空数据平台架构设计、时空索引与分布式相结合研究、时空数据产品的研发、以及时空数据挖掘在城市场景的落地等工作。加入京东之前,在微软亚洲研究院城市计算组实习/工作4年。研究兴趣包括:时空数据管理与挖掘、分布式计算和城市计算。在国内外高水平期刊和国际会议上发表论文20余篇,包括:KDD、Artificial Intelligence、ICDE、AAAI、TKDE、WWW、UbiComp、软件学报等。申请专利20余项。现为中国计算机学会(CCF)会员、CCF数据库专委会通讯委员、IEEE会员。先后担任多个国内外顶级会议或期刊的论文审稿人。 JUST简介:时空数据蕴含着丰富的信息,能够应用于各种城市应用。但时空数据更新频率高、数据体量大、结构复杂,难以被高效存储、管理和分析

廖雪峰团队最新研磨的实战宝典终终终终终终于免费了!

家住魔仙堡 提交于 2020-12-29 22:22:25
众所周知,大数据技术正被广泛应用于电商、交通、工业、医疗等行业,大数据工程师已成为互联网行业炙手可热的岗位 。另一方面, 像月薪 20k 以上的大数据工程师,技能要求就很高,除了要熟练各种大数据框架,还要会搭建系统架构,解决实际业务问题等。今天给大家推荐一个福利—— 廖雪峰 最新研磨的 实战宝典 《 如何将大数据开发做到优秀 》 首次开放了! 内容出自开课吧 vip 课程“大数据高级开发实战班” ,为帮助大家特殊时期职场走得更加顺畅,现决定将这套价值 788元 的体系化学习宝典 免费 送给粉丝朋友。 如果你是 刚转行大数据不久的Java、PHP等程序员 或 入行新人, 这套学习宝典能帮你迅速摆脱工作困扰,巩固掌握优秀工程师的必会技能: 缺乏工作经验,想短时期内接触学习大数据开发项目; 接触不到核 心技术 , 不懂 底 层源码 , 不会 搭建 系统 架构 ,提升 太难 ; 业务逻辑欠缺 ,想 丰富实战 经验, 进大 厂冲击高薪。 一、高薪大数据工程师必备——实战项目经验 本部分选取 当下应用最广的 企业项目 ,基于 大厂脱敏数据 ,以 Spark 为主要核心框架,覆盖 Kafka、Hbase 及 Hadoop 等大数据生态技术,帮你 360 度 探索大数据在出行领域的技术落地,了解大数据架构的设计奥秘 ,增加简历含金量 。 01 大数据背景下的智慧出行 通过学习

Spark Streaming

痞子三分冷 提交于 2020-12-29 02:33:38
Spark Streaming 一、 介绍 Spark Streaming 是 Spark 核心 API 的一个扩展, 可以 实现高 吞吐 量的、 具备 容错机制的实时 流数据的 处理。 支持 从 多种 数据源获取数据, 包括kafka 、 flume 、 twitter 等。 Spark 的各个 子 框架核心都是 Spark Core 。 Spark Streaming 内部处理机制是:接受实时流的数据, 并 根据一定的时间间隔拆分成一批批的数据,然后通过 Spark Engine 处理这批数据, 最终 得到处理后的一批批结果数据。对应的批数据, 在Spark 内核对应一个 RDD 实例, 因此 , 对应 流数据的 DStream 可以看成是一组 RDDs, 即 RDD 的一个序列。 Spark Streaming 的基本原理是将输入数据流以时间片(秒级)为单位进行拆分,然后以类似批处理的方式处理每个时间片数据,基本原理图如下: 首先, Spark Streaming 把实时输入数据流以时间片Δ t (如 1 秒)为单位切分成块。 Spark Streaming 会把每块数据作为一个 RDD ,并使用 RDD 操作处理每一小块数据。每个块都会生成一个 Spark Job 处理,最终结果也返回多块。 二、 容错 DStream 基于 RDD 组成, RDD 的容错性依旧有效

【spark系列4】spark 3.0.1集成delta 0.7.0原理解析--delta自定义sql

心已入冬 提交于 2020-12-28 01:20:21
前提 本文基于 spark 3.0.1 delta 0.7.0 我们都知道delta.io是一个给数据湖提供可靠性的开源存储层的软件,关于他的用处,可以参考 Delta Lake,让你从复杂的Lambda架构中解放出来 ,于此类似的产品有hudi,Iceberg,因为delta无缝集成spark,所以我们来分析一下delta集成spark的内部原理以及框架,对于spark 3.x 与delta的集成是分两部分的,一部分是delta自定义的sql语法,另一部分是基于Catalog plugin API的DDL DML sql操作(spark 3.x以前是不支持的) 我们今天先分析第一部分 delta自定义的sql语法 自定义的DeltaDataSource 我们在用delta的时候,得指定delta特定的格式,如下: val data = spark.range(5, 10) data.write.format("delta").mode("overwrite").save("/tmp/delta-table") df.show() 那这个delta datasource是怎么集成到spark呢?我们来分析一下: 直接到 DataStreamWriter ,如下: val cls = DataSource.lookupDataSource(source, df

[亲身实践]pyspark读取hive中的表的两种方式

☆樱花仙子☆ 提交于 2020-12-26 15:06:06
1.window上无法连接到hive,linux上能连接到hive(推荐 法二 ) 法一 (1)把/opt/soft/hive110/conf/hive-site.xml复制到/opt/soft/spark234/conf/hive-site.xml hive-site.xml不用改变任何东西 (2)把mysql的驱动包复制到/opt/soft/spark234/jar下面 (3)开始启动pyspark [root@joy sbin] # ./start-all.sh starting org . apache . spark . deploy . master . Master , logging to / opt / soft / spark234 / logs / spark - root - org . apache . spark . deploy . master . Master - 1 - joy . out localhost: starting org . apache . spark . deploy . worker . Worker , logging to / opt / soft / spark234 / logs / spark - root - org . apache . spark . deploy . worker . Worker - 1