自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 Clickhouse 查询问题: int 类型判断等于0无结果

问题描述现有一张表, 两个字段:id String,num UInt64数据如下:id numa 123b 0c 123 执行找出 num 为 0 的查询,结果可能会为空:select * from test_table where num = 0解决方案num 修改为 toUInt64(num), 如下:select * from test_table where toUInt64(num) = 0原因猜测数据库存储为空,但查询时

2020-07-16 18:40:06 2252

原创 问题:001 如何在shutdownhook中优雅的 close kafka consumer

这之所以是个问题,是由于 consumer 的非线程安全的,他不被允许在多个线程中使用,所以直接在 shutdownHook线程 中调用 consumer 的 close() 方法,会抛出相关异常。java.util.ConcurrentModificationException: KafkaConsumer is not safe for multi-threaded access ...

2019-09-19 17:39:19 1948 1

原创 [以浪为码]Spark源码阅读03 - 序列化介绍 serializer

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013054888/article/details/90237348系列文章专栏目录:小浪阅读 Spark 源码文章目录序列器 Serializer序列器的实现 `JavaSerializer`SerializerInstance 序列器实例序列器的实现 KryoSerializerSerial...

2019-06-10 23:03:31 480

翻译 11 Docker 数据管理概述介绍

文章目录管理数据方式Volumes 卷Bind mounts 绑定挂载tmpfs mounts命令注意事项使用 Volumes 卷的案例bind mounts 绑定挂载较好的使用案例tmpfs 挂载的案例使用 bind mounts 或者 volumes 需要注意的事情管理数据方式三种管理方式:Volumes 卷:存储在主机上,且由 Docker 来管理(/var/lib/docker/...

2019-06-06 22:35:09 117

原创 问题解决 docker stack 部署后 REPLICAS 为 0

原文 https://blog.csdn.net/u013054888/article/details/90741042问题描述使用 docker stack deploy -c docker-compose.yml xxx 执行部署后会发现服务并没有正常启动,REPLICAS 显示 为 0/1如下:➜ learn-docker-compose docker service lsID ...

2019-06-02 17:15:54 4969

原创 Spark Streaming 报错 NotSerializableException: org.apache.kafka.clients.consumer.ConsumerRecord

问题Spark Streaming 执行报错java.io.NotSerializableException: org.apache.kafka.clients.consumer.ConsumerRecord原因ConsumerRecord 没有实现序列化,在执行需要序列化的操作时,即 persist 或 window、print。会报错:解决推荐:在使用 persist 或 wi...

2019-05-14 23:01:13 1335

原创 [以浪为码]Spark源码阅读02 - RPC模块

Spark 的 RPC 模块是建立在 network 模块之上,虽然 network 提供了远程调用与数据流传输,但是 RPC 提供了更加方便的编程方式与性能提升。本文通过阅读 RPC 模块的代码,来了解其实现。

2019-05-11 19:35:35 502 1

原创 [以浪为码]Spark源码阅读01-网络传输 network

本文通过阅读 Spark 网络传输相关的代码,位置在包 `org.apache.spark.network` 中,来了解 Spark 对网络传输的实现。

2019-05-04 16:27:04 717

原创 Spark 计算 - 实现分组求 TopN

问题抽象:找出分组内数据的 TopN。问题实例找出每个城市(province)应用点击数(click)排前5的人(name)。这里假定省内每个人的点击数以及计算好了。思路思路: 这里的名字只是附属属性,求每个省份最高的5个点击数即可。首先按照省份分组,在组内聚合求 top 5参考 top() 算子的实现方法,使用一个有固定长度(这里即5)的优先队列,每个组内迭代将元素add进优先队列中,最...

2019-04-25 14:16:40 1190

翻译 Spark Streaming checkpoint

英文原文2019-03checkpoint (检查点)用于恢复与处理与应用逻辑无关的故障,比如 system failures, JVM crashes。将足够的信息存储在可靠的存储中,使程序能够从故障中恢复。一共有两种类型的数据需要被存储为检查点:元数据检查点 - 存储streaming计算的定义到可靠的存储中,比如 HDFS。用于从故障中恢复运行 driver 的节点。元数据包括:...

2019-03-27 23:46:50 329

原创 Spark Core - 提高 RDD join 的性能

Spark 作为分布式的计算框架,最为影响其执行效率的地方就是频繁的网络传输。所以一般的,在不存在数据倾斜的情况下,想要提高 Spark job 的执行效率,就尽量减少 job 的 shuffle 过程(减少 job 的 stage),或者退而减小 shuffle 带来的影响,join 操作也不例外。所以,针对 spark RDD 的 join 操作的使用,提供一下几条建议:尽量减少参与 j...

2019-02-11 16:29:22 682

翻译 Avro - 简单介绍,Java版 - 序列化与反序列化官方例子

Avro - 简单介绍,Java版 - 序列化与反序列化官方例子英文原文http://avro.apache.org/docs/1.7.7/gettingstartedjava.htmlHenvealfAvro 简单介绍数据序列化系统。丰富的数据结构类型;快速可压缩的二进制数据形式,对数据二进制序列化后可以节约数据存储空间和网络传输带宽;存储持久数据的文件容器;可以实现远程过程调用RPC;

2017-03-21 17:29:40 3949

原创 去除 Hive 表中数据的引号 - Henvealf

问题说明有时第三方提供的,导入进 Hive 表中的数据会清洗的不彻底,这里要说的就是遗留引号(“) 的问题。比如 hive> select * from test;1 "tom" 1112 "cat" 2223 "jack" 3334 "hello" 444处理后为hive> select * from test;a b c1 tom 1112

2017-03-06 18:01:19 14737 1

原创 工具 - 合并 CSV 表格 结构树 - Henvealf

合并 CSV 表格 结构树工具作用有一个类似于树结构的 CSV 文件,而想要将一列中相同内容的许多单元格合并成一个单元格。比如 id name 1 a 1 c 1 b合并为依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->

2017-03-06 17:44:40 1697

原创 spark-submit 报 NoClassDefFoundError 解决

spark-submit 报 NoClassDefFoundError 解决报错信息在使用 spark-submit 提交 scala App 的时候,报出了一下异常,而 代码就简单的调用了一下 map() 方法:Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: sca

2017-01-18 12:46:36 11460 4

原创 设计模式 - 单例模式 - Java版

单例模式介绍(Singleton)单例模式的作用就是保证某个类的实例在系统中仅仅只会存在一个。实现: 将类的默认构造方法设置为私有,然后在类的一个静态方法中创建一个该类的静态实例。也就是由类自己来控制实例的创建,而客户端只能获取。 代码 Javapackage com.henvealf.designpatterns.singleton;/** * 单例模式。。。 * Created by

2016-12-17 19:56:59 302

翻译 详解 MapReduce 在 Yarn 中的调度细节

本文为 《Hadoop The Definitive Guide 4th Edition》的读书笔记,仅限交流使用。剖析 MapReuce Job 的运行我们能够在 JOb 对象上调用一个submit()方法来运行一个 MapReduce job,你也能调用 waitFormCompletion() – 总是提交一了一个job后等待job的完成。这个方法隐藏了许多的执行细节。我们现在开看看他底层运

2016-12-08 21:03:49 1692

原创 HDFS读写流程详解/剖析

HDFS读写流程剖析 本文为 《Hadoop The Definitive Guide 4th Edition》的读书笔记(或者叫翻译),仅限交流使用, 转载请注明出处。剖析读流程下面这个图片 3-2 总结性的描述了读文件时客户端与 HDFS 中的 namenode, datanode 之间的数据流动。客户端首先通过在 FileSystem 上调用 open() 方法打开它想要打开的文件, 对

2016-12-08 21:01:21 560

原创 详细口述 MapReduce Shuffle 过程

详细口述 MapReduce Shuffle 过程。Shuffle 是 MapReduce 的核心,被称为奇迹发生的地方。分为 map 端与 reduce 端。Map 端在 map 端, map task 的每次处理分片中的一条记录。task 输出的数据以及数据的索引首先会写到一块环形内存缓冲区里,缓冲区内一边是数据,一边是索引.当缓冲区中的数据超过阈值的时候,缓冲区中的索引与数据就要开始溢出

2016-12-08 20:49:52 467

原创 HBase - Bloom Filter 简单理解

HBase - Bloom Filter 简单理解Bloom Filter 是一个过滤器,他提供了一个轻量级的 in-memeory 结构,来减少 Get 操作时读取磁盘文件的数量,只读取包含了要读取的行的文件。能大大的提高读取的效率。Bloom Filter 是使用位数组来表示的。初始状态的数组全为0。每个 HFile都会由一个与之联结 Bloom Filter位数组。Bloom Filter 会

2016-12-07 21:49:42 1232

原创 YARN - Task, Node manager, AppMaster, Resource manager 失败时所做的处理

本文为《 Hadoop 权威指南第四版 》(英文原版) 读书笔记,仅限交流使用,转载请注明出处,多谢。YARN - 失败时所做的处理Henvealf/文YARN 的失败总共包含三种实体的失败:task,application master,node manager 和 resource manager。Task 失败task 的运行也都会称为 尝试(attempt) task。可以理解为 task

2016-12-03 16:09:57 2386

原创 YARN - 比较 YARN 与 MapReduce 1

比较 YARN 与 MapReduce 1主要区别就是 YARN 把 MR1 中的 Jobtracker 的职责分给了其他三个组件。分而治之,减少组件间的强耦合,会得到许多的好处。YARN 与 MapReduce 1 对应组件 MapReduce YARN Jobtracker Resource manager, application master, timeline server

2016-12-03 10:46:33 2025

原创 Hive 11. 关于压缩的配置

关于压缩的配置项 Hive 与 Hadoop展示默认值,() 中是所有选项:中间压缩 指的是 map task 与 reduce task 中间数据的压缩,这里推荐使用 CPU 开销低的压缩格式,比如 SnappyCodec。hivehive.exec.compress.intermediate=false --(true/flase)hadoopmapred.compress.map.oupu

2016-12-01 15:42:13 429

翻译 Hive 10. 压缩存储

本文为翻译,源网页地址 https://cwiki.apache.org/confluence/display/Hive/CompressedStorage 仅限交流使用压缩存储Henvealf/译在 Hive 的表中保持数据压缩,在一些情况下,能够比未压缩存储获得更好的效果,比如在磁盘利用率与查询性能上。你能直接往存储为 TextFile 的表中导入使用了 Gzip 或者 BZip2 格

2016-12-01 15:39:20 295

翻译 Hive 9. 用户定义的方法(UDF-User-Defined Functions)

用户自定义方法(函数) 本文为Hadoop 权威指南第四版(英文原版),Hive 章节的部分翻译。仅限交流使用。Henvealf/译有时候 Hive 提供的函数并不能满足我们的需求,Hive 允许用户自己自定义(UDF),可插拔的加入到 Hive 中去使用。主要是用 Java 写,也可以使用其他语言,就是使用流的来实现,这里不做讨论。UDF 一共有三种类型:UDF(User-Defined F

2016-12-01 15:36:50 642

原创 Hive 8. 表查询

表查询现在就来讨论一下各种 Select 语句的使用。排序与聚合和普通的数据库相似, Hive 可以使用标准的 Order By 子句来对数据进行排序。 Order By 会对所有的输入进行一个单线程的全局排序,所以如果数据量比较大,效率会非常缓慢。所以当不需要对所有的数据进行排序时(多数情况下都不需要),可以使用 Hive 自己提供的非标准的 Sort By 来代替,他是依靠 reducer 来进

2016-12-01 15:32:21 313

原创 Hive 7. 桶 (Bucket)

桶 (Bucket)理解桶是除分区表之外的Hive另一种组织表的方式。 其实桶组织表的方式和 Shuffle map 端的 partition 很相似,就是将文件中的某个关键数据进行哈希处理(mr 中是键,桶中就是自己指定),然后将哈希结果对一个数(mr 中是 reduce 任务的个数,桶中由用户指定)进行取模,然后根据取模结果放置在相应的文件中。优点有两个好处:第一个就是让查询更加高效。 桶

2016-12-01 15:30:19 375

原创 Hive 7. 表分类与表操作

表分类与表操作内部表(管理表)创建表Create table If Not Exists mydb.users ( name String Comment 'user name', salary Float Comment 'user salary', hobby Array<String> Comment 'user hobby')Comment 'descriptio

2016-11-30 22:30:39 351

原创 Hive 6. 数据库操作

数据存储一个数据库对应与文件系统中的一个目录。且他们的根目录即是hive.metastore.warehouse.dir配置项来设置的。比如我这里就是 /user/henvealf/hive/warehouse刚开始进入 hive 命令行时,默认位于名为 default 的默认数据库中。其数据目录就在 /user/henvealf/hive/warehouse 下。而对于用户自定义的数据库,将会在

2016-11-30 22:27:52 269

原创 Hive 5. 数据类型

数据类型Hive 中支持大多数的基本数据类型,和3个其他数据库中烧少有的集合数据类型。 基本数据类型包括 numeric, Boolean, string, timstamp等等. 复杂数据类型有: arrays,maps,structs。 见下表:基本数据类型Hive 的基本数据类型与 Java 的数据类型相合,即使一些名字是受了 Mysql 类型的名字的影响。 与Java中的对应关系:

2016-11-30 22:20:21 7634

原创 Hive 3. 命令行界面

命令行界面命令行界面(CLI)是和 Hive 交互最常见的方式。变量和属性 变量或者属性是在不同的上下文中使用的属于,基本上他们功能是相同的。Hive 中的变量和属性一共有四个命名空间: 命名空间 使用权限 解释 hivevar 可读/可写 用户自定义的变量 (0.8.0之后) hiveconf 可读/可写 Hive 相关的配置文件 system 可读

2016-11-30 22:17:04 602

原创 Hive 2. 本地模式,分布式配置

这里假设你已经配置好了 Hadoop 分布模式本地模式的配置如果Hadoop在本地模式下,所有的文件都会存储在本地文件系统中,而不是分布式文件系统中。用户的 job 都在同一个JVM实例中执行所有的任务。如果用户经常使用本地模式,那么就必要为 Derdy metastore_db 配置一个标准的位置。如果用户可以指定一个不同的目录来存储表数据。本地模式下,默认的路径是:file:///user/h

2016-11-30 22:13:34 1086

原创 Hive 1. 安装与简单运行

安装Henvealf/文 从官网下载tar包 解压tar -zxvf apache-hive-x.y.z.tar.gz并配置好 Hive 的环境变量:export HIVE_HOME=你的Hive目录export PATH=${HIVE_HOME}/bin:${PATH}现在执行 hive 命令试试,结果失败了:henvealf@Henvealf-PC:/usr/henvealfSoftwar

2016-11-30 22:07:03 329

原创 MapReduce Shuffle 过程图解

恩,自己无聊用 Xmind 弄了一张MapReduce shuffle 过程的图解,可能不是很全面,大家如果感兴趣可以再添加新的内容,最好能分享出来,链接什么的放在评论区下,互相学习,嘿嘿。:)xmind下载页面如下: http://download.csdn.net/download/u013054888/9697218

2016-11-29 20:47:01 804

原创 Spark 例子: 寻找文件中前十的数 寻找个数为前十的单词

Spark 例子: 寻找文件中前十的数 寻找个数为前十的单词Henvealf/文寻找文件中前十的数样例数据:123234977456qwe213678其中 “qwe” 为错误数据。生成一个用于匹配数字的正则表达式:scala> val regex = """^\d+$""".rregex: scala.util.matching.Regex = ^\d+$然后使用 SortB

2016-11-29 11:40:36 1557

翻译 Spark Job 调度 (官方文档翻译)

Job 调度 原文地址:http://spark.apache.org/docs/latest/job-scheduling.html#fair-scheduler-pools 仅限交流使用,转载请注明出处,如有 warn 或 error,欢迎指正。Henvealf/译在应用程序间调度当在集群上运行,一个 Spark 应用程序获得一系列独立的执行器(Executor) JVMs,执行器仅

2016-11-28 19:28:28 726

翻译 Spark 提交应用程序

提交应用程序 原文地址: http://spark.apache.org/docs/latest/submitting-applications.html 仅限交流使用,转载请注明出处。如有错误,欢迎指出!Henvealf/译使用 spark-submit 脚本来运行你的应用程序到集群上。绑定你的应用的依赖当你的程序依赖一些其他的项目时,需要将依赖一起放进 jar 包中。这样就需要创建一

2016-11-26 20:24:09 407

翻译 Spark PG7. 共享变量

Spark 共享变量 原文地址: http://spark.apache.org/docs/latest/programming-guide.html#shared-variables 仅限交流使用,转载请注明出处。如有错误,欢迎指出!Henvealf/译一般情况下, Spark 的 map 或者 reduce 操作(task)的方法是运行在远程的集群节点上的,且会在每一个操作上复制一份

2016-11-26 18:49:18 299

翻译 Spark PG6. RDD 持久化

RDD 持久化 原文地址: http://spark.apache.org/docs/latest/programming-guide.html 仅限交流使用,转载请注明出处。如有错误,欢迎指出!Spark中一个很重要的能力就是可以将一个数据集通过操作持久化(或者说缓存)到内存中。实例化每一节点会存储数据集的任何分区的内容,这样其他的 action 就能在内存中重新利用并执行计算。这

2016-11-26 18:47:56 317

翻译 Spark PG5. Shuffle 操作

Shuffle 操作 (官方编程指南翻译) 原文地址: http://spark.apache.org/docs/latest/programming-guide.html#transformations 仅限交流使用,转载请注明出处。如有错误,欢迎指正!!Henvealf/译在 Spark 触发一个事件的时确定无疑的发生的操作就叫做 shuffle 。Shuffle 是 Spark 重

2016-11-26 18:46:32 366

MapReduce Shuffle 过程图解 Xmind文件

MapReduce Shuffle 过程图解 Xmind文件

2016-11-29

空空如也

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

TA关注的人

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