![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 62
夜月行者
我们一定要活的没有遗憾,有朝一日一定要出海,随心所欲的活着,比谁都要自由!
展开
-
spark submit 运行的时候增加ack命令
shell运行的时候增加ack命令在提交spark任务的时候担心写错索引名(spark重建索引),所以增加了一个暂停机制,让执行者再check一下,可以使用下面的样例来进行cat submit.shset -eexport JAVA_HOME=/test/jdk1.8.0_181 # // 设置jdk版本export SPARK_HOME=/test/spark-2.0.1-bin-2.6.0-cdh5.15.0/ # //设置使用spark2echo "-------------------原创 2021-09-01 11:07:41 · 195 阅读 · 0 评论 -
spark on yarn 使用自定义jdk
文章目录1. 背景2. 使用自定义的jdk1. 背景 公司的hadoop集群默认使用的还是jdk1.7 我刚来不知道,用spark2.0+jdk1.8开发了应用程序。 提交到集群上面报错Job aborted due to stage failure: Task 1 in stage 37.0 failed 4 times, most recent failure: Lost task 1.3 in stage 37.0 (TID 10960, hadoop37): java.lang.Unsupp原创 2021-08-22 22:35:29 · 344 阅读 · 0 评论 -
hive临时目录管理
这里写自定义目录标题@所有人 ,各位好,为了更好的管理hive tmp库的表,以及tmp表的HDFS存储,制定使用规范和历史清理规则如下,请大家按规范建表或者进行改造。@所有人 tmp库使用规范:1、tmp表命名规范 tmp.tmp_[业务表名][user_name][01-99]或者[yyyymmdd][user_name]:session临时表可不写,非session临时表必须写[01-99]:一般session临时表使用[yyyymmdd]:表示创建日期,一般非session临时表使原创 2020-11-23 14:39:31 · 479 阅读 · 0 评论 -
spark-on-yarn安装centos
1. 简述首先强调一下,本博客讲述的是spark-on-yarn的安装,不是spark-standalone的安装方式。其实spark-on-yarn 在任何一个可以作为hadoop client的节点安装配置spark即可,因为spark是运行在yarn当中的,所以只需要一个类似client一样的东西,将spark的依赖,用户任务等提交给yarn即可。从网上看的很多spark-on-yarn的安装方式都要再把spark安装在多个节点称为master-slave模式,然后再往yarn上提交,实际上根本原创 2020-10-19 11:05:46 · 538 阅读 · 0 评论 -
spark写入elasticsearch限流
文章目录1. spark 批量写入es2. java-spark写入elasticsearch3. es_hadoop的源码拓展1. MyEsSparkSQL2. MyEsDataFrameWriter1. spark 批量写入es正常情况下,我们的spark任务有写入es的需求的时候,我们都是使用ES_Hadoop。参考官方的这里,选择适合自己的版本,如果是hive,spark等都有用到的话可以直接配置<dependency> <groupId>org.elasticse原创 2020-09-15 17:56:33 · 2339 阅读 · 0 评论 -
spark读取文件源码分析-3
本篇是spark read一个parquet源码分析的第三篇,这一篇主要介绍spark的默认的partition的设置逻辑,当然,这一篇实际上算不上源码分析了第一篇第二篇1 . userProfileSource 的partition数量决定因素这一块儿之前总是看到说是由文件的大小决定的,每个block是一个partition(一般是128M,可以在hdfs上设置),但是分析一般是对于单个文件做的分析,这里尝试对多个文件进行分析。1. 增加调试代码为了调试rdd partition的具体信息,增原创 2020-09-14 14:18:54 · 1082 阅读 · 0 评论 -
spark读取文件源码分析-2
文章目录1. job1产生时机源码分析1. DataSoure.getOrInferFileFormatSchema()2. ParquetFileFormat.inferSchema1. 简化后代码2. parquetOptions.mergeSchema 为false3. isParquetSchemaRespectSummaries 默认值为false4. filesByType 信息3. ParquetFileFormat.mergeSchemasInParallel2. job1的调用总结3. s原创 2020-09-14 14:07:25 · 532 阅读 · 0 评论 -
spark读取文件源码分析-1
文章目录1. 问题背景2. 测试代码3. 生成的DAG图1. job02. job14. job0 产生的时机源码分析1. 调用DataFrameReader.load,DataFrameReader.loadV1Source2. 调用DataSoure.resolveRelation方法3. 调用DataSource.getOrInferFileFormatSchema()4. InMemoryFileIndex 初始化5. 调用InMemoryFileIndex.bulkListLeafFiles 方法原创 2020-09-10 20:24:21 · 2595 阅读 · 0 评论 -
spark-jar冲突解决方案
文章目录1. 问题描述2. spark on yarn cluster模式的解决方案3. 使用maven-shade-plugin1. 问题描述 spark项目的包和cdh集群中的冲突了,而且我暂时使用的是client 模式在yarn上部署(如果是cluster模式可以使用spark的config配置来解决),所以只能使用 maven-shade-plugin的relocation功能来实现。2. spark on yarn cluster模式的解决方案将下面两个参数都设置为truespark.原创 2020-09-10 10:59:55 · 1089 阅读 · 0 评论 -
spark任务jvm内存溢出
使用提交命令park-submit \--master yarn --deploy-mode client \--driver-memory 2g \--executor-memory 4g \--executor-cores 4 \--num-executors 3运行后任务报错2020-09-09 10:53:43 INFO TaskSetManager:54 - Starting task 12.0 in stage 6.0 (TID 420, data-03.co原创 2020-09-09 20:50:39 · 533 阅读 · 0 评论 -
java-spark广播变量
spark任务报错20/09/09 18:23:00 INFO scheduler.TaskSetManager: Starting task 0.0 in stage 5.0 (TID 4008, node-hadoop67.com, executor 3, partition 0, RACK_LOCAL, 8608 bytes)20/09/09 18:23:00 INFO storage.BlockManagerInfo: Added broadcast_9_piece0 in memory on原创 2020-09-09 20:24:52 · 2274 阅读 · 0 评论 -
Listing leaf files and directories for 来自哪里
spark2.3.0https://github.com/apache/spark/blob/d6a68e0b67ff7de58073c176dd097070e88ac831/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/InMemoryFileIndex.scalaval statusMap = try { val description = paths.size match { cas原创 2020-09-03 14:42:05 · 476 阅读 · 0 评论 -
spark读取单个文件和多个文件的区别
public class UserProfileTest { //static String filePath = "hdfs:///user/daily/20200828/*.parquet"; static String filePath = "/user/daily/20200828/part-00057-0e0dc5b5-5061-41ca-9fa6-9fb7b3e09e98-c000.snappy.parquet"; public static void main(Str原创 2020-09-03 14:11:38 · 207 阅读 · 0 评论 -
spark任务运行过程repartition和coalesce
文章目录简介1. 不做任何干预的代码2. 使用repartition的方式调整partition的数量3. 使用coalesce 的方式调整partition的数量2. 默认情况job图1. job0 stage图1. stage0详情2. job1 stage图1. stage1详情3. job2 stage图1. stage2详情2. stage3详情4. job3 stage图1. stage4详情3. repartition job图1. job0 stage图2. job1 stage图3. jo原创 2020-09-02 21:48:17 · 665 阅读 · 0 评论 -
spark-on-yarn日志配置
spark on yarn 日志无法正常显示是因为我们在运行spark任务后,默认是由AM进行历史任务汇聚,拼接的URL是job history的链接,但是spark里面>是drive负责汇聚,需要通过spark history进行收集后才能查看。下面给出配置方式1. 修改spark-defaults.conf添加以下内容spark.eventLog.enabled truespark.eventLog.compress truespark.eventLog.dir hdf原创 2020-09-02 14:58:55 · 1181 阅读 · 0 评论 -
一个spark任务的分析
文章目录1. 简述2. spark程序和提交命令1. spark任务源代码(主要部分)2. 使用的提交命令3. 如何在yarn上查看1. 找到对应的任务2. 任务的主监控页面3. job页面1. job0 对应的是2. job1对应的是3. job2对应的是1. 对应的stag4. job3对应的是1. stage3的相关信息2. stage4的相关信息5. job4对应的是1. job详情2. stage5详情3. stage6详情4. environment7. executors8. SQL1.原创 2020-09-01 17:25:39 · 261 阅读 · 0 评论 -
hadoop集群NameNode频繁切换问题
一、背景介绍hadoop1集群NameNode(NN)开启了高可用,方式为基于QJM,但最近出现频繁切换,导致一些连接方式为ip:port的服务出现异常。二、问题定位NN高可用原理简介 NN的高可用通过单独的进程实现:ZKFailoverController。 该进程运行在每一个NN上,对NN进行状态监测,当监测到NN状态异常时,借助ZooKeeper实现NN的主备切换。 Active/Standby NN 所在机器上的ZKFC进程都会尝试创建/hadoop-ha/${dfs.nam原创 2020-08-26 20:13:37 · 1060 阅读 · 0 评论