
spark
文章平均质量分 55
三劫散仙
唯有学习,可以解忧
展开
-
mlflow transformers Unexpected key(s) in state_dict: “bert.embeddings.position_ids“.版本不匹配的的坑
用最新的 transformers 跑出错,恢复到那个时候的版本后修复,顺便也把 pyspark 版本固定下来,都是坑哦。原创 2024-10-28 16:15:14 · 314 阅读 · 0 评论 -
spark3.3.4 上使用 pyspark 跑 python 任务版本不一致问题解决
如果是使用 mlflow 包管理的任务,除了 driver 和 executor 上 python 版本保持一致,训练模型用的 python 版本也尽量匹配 pyspark 的版本要求,否则可能出现兼容性问题。这也就是说,如果你要跑 python 任务,你的 driver 和 worker 侧的 python 版本不能低于 3.7 版本,最小是 3.7,否则就会出现上面描述的异常。原创 2024-08-09 16:36:52 · 882 阅读 · 0 评论 -
spark外置external shuffle service使用介绍
默认情况下,MR任务shuffle都是由当前任务内部完成的,也就是启动了一个spark job,这个job在内部就可完成整个shuffle流程,也就是实时对接的模式,类似快递小哥送快递给你,到你家楼下打电话给你,不见你面他就一直等着你,直到你来了之后,他把快递亲自交到你的手中,他才可以去干下一件快递的排送,这种模式就是默认shuffle的工作原理。外部独立的shuffle服务的存储可以不占用YARN内部的本地磁盘,使用独立的SSD磁盘或者SSD的云存储再配上100G的网络带宽来加速shuffle处理性能。原创 2023-06-27 20:05:15 · 1802 阅读 · 0 评论 -
spark-3.0.1和hive-1.1.0集成的问题
主jar里面包含了jetty或者spring boot相关的web依赖信息,可能会导致和 hive-1.1.0 自带的jetty冲突。链接: https://pan.baidu.com/s/1ThAjKRznK2CUDaiXYPzKXg 提取码: b0b0。解决办法:单独下载 geronimo-jaspi-2.0.0.jar 包,放入 spark 根目录的 jars 目录里面。原创 2023-04-27 15:47:57 · 373 阅读 · 1 评论 -
pyspark 3.0增加python woker进程崩毁时的日志记录
之所以能够捕捉segmentation fault进程崩溃异常,是利用了python 3.3版本之后的新功能 faulthandler 库,当故障、超时或收到用户信号时,利用本模块内的函数可转储 Python 跟踪信息。这样排查问题就很方便了,可以清晰的看到是那个依赖库导致的。原创 2023-03-02 10:32:23 · 1911 阅读 · 0 评论 -
spark sql使用常量列值创建虚拟表
在代码中,其实很容易实现,我们看下在sql里面怎么实现,关键知识点:spark inline表 + create view。原创 2023-03-01 11:45:38 · 440 阅读 · 0 评论 -
Spark与hdfs delegation token过期的排查思路总结
hadoop delegation token的问题相对比较混乱和复杂,简单说下这东西的出现背景,最早的hadoop的因没有的完善的安全机制(安全机制主要包括:认证 + 鉴权,hadoop这里主要是身份认证机制没有),所以导致操作风险比较大,你可以理解只要获取了一台装有hadoop client的机器,就可以任意操作HDFS系统了,深究原因是因为hadoop身份认证机制太薄弱原创 2022-11-09 23:34:25 · 2753 阅读 · 0 评论 -
SparkStreamingj集成Kafka的几个重要参数
[img]http://dl2.iteye.com/upload/attachment/0122/7173/fb8db43b-7cad-309b-ade5-8b89f8af6473.png[/img]sparkstreaming集成kafka时的maven的pom依赖:[code="java"] org.apache.spark ...2017-01-20 09:45:17 · 318 阅读 · 0 评论 -
在scala中使用spark sql解决特定需求(2)
接着上篇文章,本篇来看下如何在scala中完成使用spark sql将不同日期的数据导入不同的es索引里面。首下看下用到的依赖包有哪些:[code="java"]elasticsearch-spark-20_2.11 5.3.2elasticsearch 2.3.4spark-sql_2.11 ...2017-07-21 16:00:18 · 288 阅读 · 0 评论 -
在scala中使用spark sql解决特定需求
spark sql一个强大之处就是能够嵌在编程语言内执行,比如在java或者scala,Python里面,正是因为这样的特性,使得spark sql开发变得更加有趣。 比如我们想做一个简单的交互式查询,我们可以直接在linux终端直接执行spark sql查询hive来分析,也可以开发一个jar来完成特定的任务。有些时候单纯的使用sql开发可能功能有限,比如我有下面的一个功能:...2017-07-20 19:53:44 · 670 阅读 · 0 评论 -
Spark如何在一个SparkContext中提交多个任务
在使用spark处理数据的时候,大多数都是提交一个job执行,然后job内部会根据具体的任务,生成task任务,运行在多个进程中,比如读取的HDFS文件的数据,spark会加载所有的数据,然后根据block个数生成task数目,多个task运行中不同的进程中,是并行的,如果在同一个进程中一个JVM里面有多个task,那么多个task也可以并行,这是常见的使用方式。 考虑下面一种场景,在...2017-07-04 19:09:03 · 725 阅读 · 0 评论 -
如何使用scala+spark读写hbase?
最近工作有点忙,所以文章更新频率低了点,希望大家可以谅解,好了,言归正传,下面进入今天的主题:如何使用scala+spark读写Hbase软件版本如下:scala2.11.8spark2.1.0hbase1.2.0公司有一些实时数据处理的项目,存储用的是hbase,提供实时的检索,当然hbase里面存储的数据模型都是简单的,复杂的多维检索...2017-06-12 19:48:34 · 745 阅读 · 0 评论 -
如何使用Spark大规模并行构建索引
[size=medium]使用Spark构建索引非常简单,因为spark提供了更高级的抽象rdd分布式弹性数据集,相比以前的使用Hadoop的MapReduce来构建大规模索引,Spark具有更灵活的api操作,性能更高,语法更简洁等一系列优点。先看下,整体的拓扑图:[/size][img]http://dl2.iteye.com/upload/attachment/011...原创 2016-02-01 12:54:16 · 452 阅读 · 0 评论 -
Spark Streaming流式计算的WordCount入门
[size=medium]Spark Streaming是一种近实时的流式计算模型,它将作业分解成一批一批的短小的批处理任务,然后并行计算,具有可扩展,高容错,高吞吐,实时性高等一系列优点,在某些场景可达到与Storm一样的处理程度或优于storm,也可以无缝集成多重日志收集工具或队列中转器,比如常见的 kakfa,flume,redis,logstash等,计算完后的数据结果,也可以存储...2016-01-28 18:12:07 · 414 阅读 · 0 评论 -
Spark架构模型介绍
[size=medium] 集群概述:(一)组件spark应用作为一系列独立的进程运行在集群上,通过SparkContext来协调,这个对象一般在我们的main程序里面,通常称为驱动程序,特别的,为了能够在集群上运行,SparkContext对象支持集成了大多数集群调度比如,Spark自己的standalone ,Hadoop2.x的Yarn以及Mesos,通过这些调度...2016-01-25 18:14:53 · 484 阅读 · 0 评论 -
Spark读取Hbase数据
[size=medium]直接上代码:可以上传jar包,给远程的spark集群,这样能在idea中windows环境上运行代码:[/size][code="java"]package com.tools.hbaseimport org.apache.hadoop.hbase.HBaseConfigurationimport org.apache.hadoop...2016-01-21 15:39:15 · 435 阅读 · 0 评论 -
Spark SQL+Hive历险记
[size=medium]基础依赖环境Apache Hadoop2.7.1Apache Spark1.6.0Apache Hive1.2.1Apache Hbase0.98.12(1)提前安装好scala的版本,我这里是2.11.7(2)下载spark-1.6.0源码,解压进入根目录编译(3)dev/change-scala-version.sh 2...2016-01-21 11:40:00 · 203 阅读 · 0 评论 -
hive on spark 测试
[size=medium]基础环境:Apache Hadoop2.7.1Centos6.5 Apache Hadoop2.7.1 Apache Hbase0.98.12 Apache Hive1.2.1 Apache Tez0.7.0Apache Pig0.15.0 Apache oozie4.2.0 Apache Spark1.6.0 Cloudr...2016-01-18 18:06:31 · 488 阅读 · 0 评论 -
Spark Streaming如何使用checkpoint容错
在互联网场景下,经常会有各种实时的数据处理,这种处理方式也就是流式计算,延迟通常也在毫秒级或者秒级,比较有代表性的几个开源框架,分别是Storm,Spark Streaming和Filnk。曾经在一个项目里面用过阿里改造后的JStrom,整体感受就是编程略复杂,在不使用Trident Api的时候是不能保证准确一次的数据处理的,但是能保证不丢数据,但是不保证数据重复,我们在使用...2017-01-06 21:31:20 · 504 阅读 · 0 评论 -
在Scala里面如何使用正则处理数据
正则在任何一门编程语言中,都是必不可少的一个模块,使用它来处理文本是非常方便的,尤其在处理在使用spark处理大数据的时候,做ETL需要各种清洗,判断,会了正则之后,我们可以非常轻松的面对各种复杂的处理,Scala里面的正则也比Java简化了许多,使用起来也必要简单,下面通过几个例子来展示下其用法:[code="java"]/** * Created by QinDongLi...2017-01-05 11:08:30 · 409 阅读 · 0 评论 -
如何收集SparkSteaming运行日志实时进入kafka中
用过sparkstreaming的人都知道,当使用sparkstreaming on yarn模式的时候,如果我们想查看系统运行的log,是没法直接看的,就算能看也只是一部分。这里的log分:(1)spark本身运行的log(2)代码里面业务产生的logspark on yarn模式,如果你的hadoop集群有100台,那么意味着你的sparks...2017-01-21 18:22:45 · 286 阅读 · 0 评论 -
关于SparkStreaming的checkpoint的弊端
框架版本spark2.1.0kafka0.9.0.0当使用sparkstreaming处理流式数据的时候,它的数据源搭档大部分都是Kafka,尤其是在互联网公司颇为常见。当他们集成的时候我们需要重点考虑就是如果程序发生故障,或者升级重启,或者集群宕机,它究竟能否做到数据不丢不重呢?也就是通常我们所说的高可靠和稳定性,通常框架里面都带有不同层次的消息保证机制,一般...2017-02-11 17:59:11 · 168 阅读 · 0 评论 -
Scala里面的排序函数的使用
排序方法在实际的应用场景中非常常见,Scala里面有三种排序方法,分别是:sorted,sortBy ,sortWith 分别介绍下他们的功能:(1)sorted对一个集合进行自然排序,通过传递隐式的Ordering(2)sortBy对一个属性或多个属性进行排序,通过它的类型。(3)sortWith基于函数的排序,通过一个comp...2018-01-09 20:20:10 · 1618 阅读 · 0 评论 -
在Scala里面如何使用元组
元组在Scala语言中是一种十分重要的数据结构,类似数据库里面的一行记录(row),它可以将不同类型的值组合成一个对象,在实际应用中十分广泛。先来看一个简单的tuple定义:[code="java"]```` val tuple=("张三",25)//定义一个tupleval (name,age)=("张三",25)//变量绑定模式````[/code]...2018-01-08 22:05:41 · 1126 阅读 · 0 评论 -
Spark如何读取一些大数据集到本地机器上
最近在使用spark处理分析一些公司的埋点数据,埋点数据是json格式,现在要解析json取特定字段的数据,做一些统计分析,所以有时候需要把数据从集群上拉到driver节点做处理,这里面经常出现的一个问题就是,拉取结果集过大,而驱动节点内存不足,经常导致OOM,也就是我们常见的异常:[code="java"]```` java.lang.OutOfMemoryError: Ja...2018-01-04 21:07:09 · 1030 阅读 · 1 评论 -
使用Spark SQL的临时表解决一个小问题
最近在使用spark处理一个业务场景时,遇到一个小问题,我在scala代码里,使用spark sql访问hive的表,然后根据一批id把需要的数据过滤出来,本来是非常简单的需求直接使用下面的伪SQL即可:[code="java"]````select * from table where id in (id1,id2,id3,id4,idn)````[/code]...2017-12-28 18:27:59 · 2476 阅读 · 0 评论 -
Spark任务两个小问题笔记
今天在用spark处理数据的时候,遇到两个小问题,特此笔记一下。两个问题都与网络交互有关,大致处理场景是,在driver端会提前获取组装一批数据,然后把这些数据发送executor端进行后续处理。问题一:序列化异常driver有一个case class类需要封装一些数据发送到executor上,原来都是scala的类,直接发送到executor上执行没问...2017-12-26 19:52:55 · 202 阅读 · 0 评论 -
Spark中foreachPartition和mapPartitions的区别
spark的运算操作有两种类型:分别是Transformation和Action,区别如下:Transformation:代表的是转化操作就是我们的计算流程,返回是RDD[T],可以是一个链式的转化,并且是延迟触发的。Action:代表是一个具体的行为,返回的值非RDD类型,可以一个object,或者是一个数值,也可以为Unit代表无返回值,并且action会立...2017-12-25 21:19:47 · 1318 阅读 · 0 评论 -
Spark Streaming优雅的关闭策略优化
前面文章介绍了不少有关Spark Streaming的offset的管理以及如何优雅的关闭Spark Streaming的流程序。到目前为止还有几个问题:(1)有关spark streaming集成kafka时,如果kafka新增分区, 那么spark streaming程序能不能动态识别到而不用重启?(2)如果需要重启,那么在自己管理offset时,如何才...2017-12-07 19:26:30 · 553 阅读 · 0 评论 -
kafka版本不一致导致的一个小问题(二)
背景介绍:我们公司的实时流项目现在用的spark streaming比较多,这里在介绍下版本:spark streaming2.1.0kafka 0.9.0.0spark streaming如果想要集成kafka使用时,必须得使用spark官网提供的依赖包,目前有两种大的kafka分支依赖集成包,他们的一些信息如下:[code="java"]描述...2017-12-04 21:37:56 · 1552 阅读 · 0 评论 -
谈谈如何优雅的关闭正在运行中的Spark Streaming的流程序
前面的文章,已经简单提到过怎么样关闭流程序。因为Spark Streaming流程序比较特殊,所以不能直接执行kill -9 这种暴力方式停掉,如果使用这种方式停程序,那么就有可能丢失数据或者重复消费数据。为什么呢?因为流程序一旦起来基本上是一个7*24小时的状态,除非特殊情况,否则是不会停的,因为每时每刻都有可能在处理数据,如果要停,也一定要确认当前正在处理的数据执行完毕...2017-11-30 19:20:26 · 834 阅读 · 0 评论 -
如何管理Spark Streaming消费Kafka的偏移量(三)
前面的文章已经介绍了在spark streaming集成kafka时,如何处理其偏移量的问题,由于spark streaming自带的checkpoint弊端非常明显,所以一些对数据一致性要求比较高的项目里面,不建议采用其自带的checkpoint来做故障恢复。在spark streaming1.3之后的版本支持direct kafka stream,这种策略更加完善,放弃了原来使...2017-11-28 23:41:44 · 626 阅读 · 0 评论 -
理解Spark的运行机制
Spark生态系统目前已经非常成熟了,有很多类型的任务都可以使用spark完成,我们先看下spark生态系统的组成: [img]http://dl2.iteye.com/upload/attachment/0127/9048/acc4fb45-3278-3491-bf21-2be4bd608d2a.png[/img] spark的核心主要由3个模块组成:...2017-11-23 21:52:04 · 406 阅读 · 0 评论 -
如何管理Spark Streaming消费Kafka的偏移量(二)
上篇文章,讨论了在spark streaming中管理消费kafka的偏移量的方式,本篇就接着聊聊上次说升级失败的案例。事情发生一个月前,由于当时我们想提高spark streaming程序的并行处理性能,于是需要增加kafka分区个数,,这里需要说下,在新版本spark streaming和kafka的集成中,按照官网的建议 spark streaming的executors的数量要和k...2017-11-16 19:30:58 · 424 阅读 · 0 评论 -
如何管理Spark Streaming消费Kafka的偏移量(一)
最近工作有点忙,所以更新文章频率低了点,在这里给大家说声抱歉,前面已经写过在spark streaming中管理offset,但当时只知道怎么用,并不是很了解为何要那样用,最近一段时间又抽空看了一个github开源程序自己管理offset的源码,基本已经理解透彻了,当然这里面还包含了由于理解不透彻导致升级失败的一个案例,这个在下篇文章会分享出来。本篇我们先从理论的角度聊聊在Spark ...2017-11-14 20:42:44 · 504 阅读 · 1 评论 -
使用ES-Hadoop插件结合spark向es插入数据
上篇文章简单介绍了ES-Hadoop插件的功能和使用场景,本篇就来看下如何使用ES-Hadoop里面的ES-Spark插件,来完成使用spark想es里面大批量插入数据。这里说明下ES-Hadoop是一个fat的maven依赖,也就是引入这个包会导入许多额外的依赖,不建议这么搞,除非是测试为了方便用的,实际情况是ES也单独提供了每个不同框架的mini包,比如说只使用sp...2017-05-05 17:19:31 · 301 阅读 · 0 评论 -
spark sql on hive笔记一
Spark sql on Hive非常方便,通过共享读取hive的元数据,我们可以直接使用spark sql访问hive的库和表,做更快的OLAP的分析。spark 如果想直接能集成sql,最好自己编译下源码:切换scala的版本为新版本[code="java"]dev/change-scala-version.sh 2.11[/code]编译支持hive[code="...2016-12-09 20:42:23 · 223 阅读 · 0 评论 -
spark sql 快速体验调试
spark sql提供了更快的查询性能,如何能够更快的体验,开发和调试spark sql呢?按照正规的步骤我们一般会集成hive,然后使用hive的元数据查询hive表进行操作,这样以来我们还需要考虑跟hive相关的东西,如果我们仅仅是学习spark sql查询功能,那么仅仅使用IDEA的IDE环境即可,而且能够在win上快速体验,不需要hive数据仓库,我们直接使用数组造点数据,然后转成DF,最...2017-04-13 16:40:53 · 212 阅读 · 0 评论 -
在scala中使用spark sql解决特定需求(2)
接着上篇文章,本篇来看下如何在scala中完成使用spark sql将不同日期的数据导入不同的es索引里面。首下看下用到的依赖包有哪些:elasticsearch-spark-20_2.11 5.3.2elasticsearch 2.3.4spark-sql_2.11 2.1.0spark-hive_2.11原创 2017-07-21 16:05:14 · 1719 阅读 · 0 评论 -
在scala中使用spark sql解决特定需求
spark sql一个强大之处就是能够嵌在编程语言内执行,比如在java或者scala,Python里面,正是因为这样的特性,使得spark sql开发变得更加有趣。 比如我们想做一个简单的交互式查询,我们可以直接在linux终端直接执行spark sql查询hive来分析,也可以开发一个jar来完成特定的任务。有些时候单纯的使用sql开发可能功能有限,比如我有下面的一个功能:一张原创 2017-07-20 19:57:42 · 707 阅读 · 0 评论