自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

转载 Spark kryo序列化

Spark中序列化的目的:序列化后数据更小,更便于传输和存储, 但是会耗用更多的cpu资源。 Spark中数据共有两种序列化方式: java :(默认) 兼容性好, 但是慢、较大。 Kryo :快, 较小, 但是需要手动地注册用到的类。 kryo的用法 : val sp...

2019-08-19 22:13:00 225

转载 Spark Core 实现排序的三种方式

一、普通的实现方式 val data: RDD[String] = sc.parallelize(Array("aa 200 3000", "bb 200 4000", "cc 999 3000", "dd 10 20000")) data.map(x => {...

2019-08-18 23:06:00 377

转载 Spark on yarn 资源调优

Spark作业在运行的时候应该分配足够多的资源, 在一定范围内, 增加资源和性能提升是成正比的。 提交到Yarn上时, 相关配置: --driver-memory Driver的内存 --executor-memory Executor的内存 --executor-cores Executor...

2019-08-18 22:59:00 473

转载 Kafka消费者分区分配策略

当有多个消费者和多个分区时, 该如何分配它们?配置项partition.assignment.strategy决定了分配策略。 range (默认) 配置为org.apache.kafka.clients.consumer.RangeAssignor 对于每一个Topic, 计算Pa...

2019-08-18 18:07:00 380

转载 Spark的宽依赖与窄依赖

窄依赖(Narrow Dependency): 一个父RDD的Partition只能被子RDD的某一个Partition使用一次 宽依赖(Wide Dependency):发生了Shuffle。一个父RDD的Partition只能被子RDD的某一个Partition使用多次 PS: join...

2019-08-18 13:18:00 109

转载 Spark persist 持久化

持久化算子可以将计算结果保存起来, 不必重新计算。 相关源码 持久化算子cache, persist, unpersist源码如下: /** * Persist this RDD with the default storage level (`MEMORY_ONLY`...

2019-08-18 12:01:00 234

转载 Spark Application

名称 解释 Application 被提交的Spark作业。由一个Driver和多个Executor构成。 Driver program 运行main主函数并创建SparkContext...

2019-08-18 10:33:00 208

转载 flume写到HDFS处理小文件问题

当使用hdfs sink时 有可能会产生严重的小文件问题。 通过配置rollInterval, rollSize, rollCount三个参数来缓解小文件问题。 a1.sinks.hdfssink.type = hdfsa1.sinks.hdfssin...

2019-08-17 23:24:00 702

转载 Spark on yarn

yarn 的执行流程 Spark Application Spark与MapReduce的区别 MapReduce是基于进程的, mapTask、reducerTask 都是进程。当task完成了, 这个进程就结束了。 Spark是基于线程的, 多个task并行...

2019-08-17 22:20:00 72

转载 Spark 累加器 Accumulator

Spark的累加器Accumulator中, Executor内只能做add操作, 只有Driver才能读取它的值。 val doubleAcc: DoubleAccumulator = sc.doubleAccumulator("doubleAcc") val collA...

2019-08-17 16:32:00 148

转载 Spark History Server

当Spark程序运行时, 会开启一个web服务显示该程序的详细信息, 但是程序运行完过后便不再能访问这个页面了。 开启Spark的HistoryServer后, 可以记录并显示这些信息。 配置 编辑 spark-defaults.conf, 修改参数spark.eventlog.ebab...

2019-08-17 16:03:00 104

转载 Spark Streaming 及相关算子

外部数据源 如果使用了基于receiver的数据源, 则receiver会占用一个进程来接受数据, 如果运行的环境上只有一个cpu核心, 那么SparkStreaming程序无法正常运行。 相关transformation算子 transform 将DStream中的...

2019-08-16 12:06:00 140

转载 Spark添加数据至Hive分区表

准备工作: 创建hive分区表 create table login_origin(created_date string,event_id string,dev_mac string,domain string,session_id string,dev_na...

2019-08-15 21:24:00 1348

转载 Spark Streaming与kafka对接

使用KafkaUtil来实现SparkStreaming的对接。 KafkaUtil共有两个版本: spark-streaming-kafka-0-8 spark-streaming-kafka-0-10 kafk...

2019-08-15 21:09:00 236

转载 flume kafka sink 抛出异常 Bootstrap Servers must be specified

使用flume kafka sink时, 启动flume抛出异常 Sink kafkasink has been removed due to an error during configurationorg.apache.flume.conf.ConfigurationExceptio...

2019-08-07 21:09:00 3117

转载 在IDEA本地Spark连接Hive

步骤复制hive-site.xml、hdfs-site.xml文件至项目的资源文件夹。maven中引入spark-hive_2.11以及访问元数据数据库所需要的依赖如mysql-connector-java <dependency> <group...

2019-08-03 23:46:00 869

转载 解决HDFS突然无法启动

启动HDFS时, 突然NameNode无法启动。日志上抛出如下异常:Failed to load image from FSImageFile(file=/dfs/nn/current/fsimage_0000000000000020745, cpktTxId=00000000000000...

2019-08-03 21:49:00 1575

转载 使用DBeaver连接hive

使用DBeaver连接hive1.1.0时, 会抛出Required field 'client_protocol' is unset的异常, 原因是默认的驱动不匹配。解决方案: 将$HIVE_HOME/jars下的hive-jdbc-1.1.0-cdh5.16.1-standalone.j...

2019-08-03 09:37:00 1124

转载 解决Spark读取HDFS小文件的问题

若Spark读取HDFS文件夹时, 其中的小文件过多会降低程序性能,也给HDFS带来压力。当Spark读取文件时, 会为每个文件的数据分配一个Partition, 可以使用coalesce算子减少rdd中的分区。首先, 编写函数实现根据文件大小来确定分区数的功能 def coale...

2019-08-03 00:21:00 957

转载 flume异常org.apache.flume.ChannelFullException

使用flume接受avro数据时, 抛出异常org.apache.flume.ChannelFullException: Space for commit to queue couldn't be acquired. Sinks are likely not keeping up with ...

2019-08-01 16:09:00 977

转载 Flume 修改TaildirSource源码支持递归目录

1. 下载flume源码, 并将Taildir Source相关源码复制到自己的项目中。 本例使用的源码为 flume-ng-1.6.0-cdh5.16.1 相关代码文件有: ReliableTaildirEventReader.java TaildirMatcher ...

2019-07-30 23:37:00 543

转载 kafka优化建议

Producer acks 建议设置为all, 确认所有副本保存完毕后进行下一个批次。默认值为1, 等到leader副本保存完毕后就开始下一个批次, 若期间leader所在节点出错, 会导致数据丢失。 buffer.memory 生产者的缓存大小,默认值约为32M, 可以根据需求适当调...

2019-07-24 15:28:00 119

转载 Spark中map、mapPartitions、foreach、foreachPartitions算子

map 与 mapPartitions /** * Return a new RDD by applying a function to all elements of this RDD. */ def map[U: ClassTag](f: T => ...

2019-07-23 20:00:00 596

转载 Spark利用Broadcast实现Join避免Shuffle操作

在Spark中, 诸如ReduceByKey,GroupByKey等操作会触发Shuffle, 影响性能。 本文提供了一种利用广播Broadcast, 实现了join操作, 避免了Shuffle。 正常的join操作 val sc = new SparkContext(n...

2019-07-22 12:59:00 828

转载 Spark Streaming调优 kafka

当使用Spark Streaming的Direct方式接受Kafka数据时, 如果kafka中的数据过多, 会导致spark数据积压, 无法准时完成作业, 甚至OOM。 Spark的运行指标及调优的目标 共两个运行指标:调度延迟与执行延迟。 调优的目标是在SparkStreaming...

2019-07-11 14:57:00 258

转载 在linux中发送邮件

配置流程启动sendmailservice sendmail startchkconfig sendmail on建立认证mkdir -p /root/.certs/echo -n | openssl s_client -connect smtp.qq.com:465 ...

2019-07-06 18:33:00 358

转载 Date类的坑

尝试指定日期,进行日期格式转换, 代码如下:SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MMM/yyyy hh:mm:ss", Locale.ENGLISH); return simpleDateF...

2019-07-06 17:22:00 180

转载 HDFS压缩与Hive的读取

压缩格式 若负载很高, 不要压缩 名称 后缀 支持split gzip .gz × bzip2 .gz √ LZO .l...

2019-07-05 20:17:00 743

转载 大数据项目中安装JDK的注意事项

将jdk安装在 /usr/java 中因为这是CDH的默认jdk目录, 安装目录不对会导致CDH安装失败解压jdk时, 会发生/usr/java/jdk1.8*目录的权限变更, 可能会导致ClassNotDefined等错误 ...

2019-07-04 17:17:00 102

转载 git上传代码到指定分支

比如要上传至mia-forko分支切换到分支git checkout mia-forko将要提交的文件信息添加到索引库git add .为修改添加备注git commit -m "your commit"上传 git push origin mia-fo...

2019-07-04 17:15:00 33545

转载 kafka + spark streaming 确保不丢失不重复消费的offset管理方法

在使用Spark Streaming消费kafka中的数据时, 官方推荐将offset信息存储在kafka中 stream.foreachRDD { rdd => val offsetRanges = rdd.asInstanceOf[HasOffsetRanges].offse...

2019-07-04 10:29:00 324

转载 Yarn HA 原理

RMStateStore : 存储在Zookeeper的/rmstore目录ResourceManager:RecourseManager中有ZKFC线程启动的时候会向zk的/rmstore中写look文件, 写成功为active, 否则为standby。Resourc...

2019-07-03 14:11:00 983

转载 HDFS HA 原理

1. 需搭建Zookeeper用来支持HDFS master的选举zookeeper 的节点数应为2n+1(奇数)台, 因为偶数个节点可能会导致选举问题。2.需要的进程有:NameNode:NameNode是主从结构中“主”的角色共有两种状态, 实时的, 无感知的, 可以随时切...

2019-07-03 09:58:00 131

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除