Spark 学习笔记03-运行
Spark 运行时架构 在分布式环境下,Spark 集群采用的是主/从结构。在一个 Spark 集群中,有一个节点负责中央协调,调度各个分布式工作节点。这个中央协调节点被称为驱动器(Driver)节点,与之对应的工作节点被称为执行器(executor)节点。驱动器节点可以和大量的执行器节点进行通信,它们也都作为独立的 Java 进程运行。驱动器节点和所有的执行器节点一起被称为一个 Spar...
Spark 运行时架构 在分布式环境下,Spark 集群采用的是主/从结构。在一个 Spark 集群中,有一个节点负责中央协调,调度各个分布式工作节点。这个中央协调节点被称为驱动器(Driver)节点,与之对应的工作节点被称为执行器(executor)节点。驱动器节点可以和大量的执行器节点进行通信,它们也都作为独立的 Java 进程运行。驱动器节点和所有的执行器节点一起被称为一个 Spar...
共享变量是一种可以在 Spark 任务中使用的特殊类型的变量。Spark 有两种类型的共享变量:累加器(accumulator) 和广播变量(broadcast variable)。 累加器用来对信息进行聚合,广播变量用来高效分发较大的对象。 当任务需要很长时间进行配置,譬如需要创建数据库连接或者随机数生成器时,在多个数据元素间共享一次配置就会比较有效率。由于需要用到远程呼号查询数据库,...
在分布式程序中,通信的代价是很大的,因此控制数据分布以获得最少的网络传输可以极大地提升整体性能。和单节点的程序需要为记录集合选择合适的数据结构一样,Spark 程序可以通过控制 RDD 分区方式来减少通信开销。分区并不是对所有应用都有好处的——比如,如果给定 RDD 只需要被扫描一次,我们完全没有必要对其预先进行分区处理。只有当数据集多次在诸如连接这种基于键的操作中使用时,分区才会有帮助。我...
RDD (Resilient Distributed Dataset) 是 Spark 对数据的核心抽象——弹性分布式数据集。 RDD 其实就是分布式的元素集合,在 Spark 中,对数据的所有操作不外乎就是创建 RDD、转换已有的 RDD 以及调用 RDD 操作进行求值。而这一切的背后,Spark 会自动将 RDD 中的数据分发到集群上,并将操作并行化执行。 RDD Spark ...
参考: https://tomcat.apache.org/tomcat-8.5-doc/apr.html $ yum groups list $ sudo yum y groupinstall 'Development Tools' $ sudo yum -y install openssl-devel apr apr-devel apr-util apr-util-devel ap...
$ sudo yum install autoconf automake libtool curl make gcc-c++ unzip cd protobuf-2.5.0 ./autogen.sh ./configure make make check make install ldconfig https://github.com/google/protobuf/release...
Apache Kafka 是目前非常具有吸引力的一个分布式消息系统, Spring 是每个 Java 开发人员耳熟能详的流行的开发框架. 这里讲介绍什么是 Spring Kafka, 如何使用 KafkaTemplate 来想 kafka brokers 产生消息, 以及如何使用 “listener container” 从 Kafka 中消费消息. 原文: Spring Kafka T...
原文: Create Multi-threaded Apache Kafka Consumer 1. 为什么需要多线程 假设我们实现了一个通知模块允许一些用户通过这个模块订阅一些来自其他用户..其他应用的通知. 我们的模块所读取的就是其他用户或应用写入到 Kafka 集群的消息. 这个例子里面, 我们将创建一个消费者订阅 Kafka 的主题来实现. 期初, 所有的事情看起来都还不错...
HBase 过滤器就是在 Get 或者 Scan 的时候过滤结果用的,可以理解为 HBase 中的 Where 语句。HBase 的过滤器会被序列化为可以在网络中传输的格式,然后分发给每个 RegionServer。在 Scan 的遍历过程中,不满足条件的结果就不会被返回个客户端。 快速入门 HBase 过滤器需要实现 Filter 接口,HBase 同时还提供了 FilterBas...
HBase 采用的是 Key/ Value 的存储方式, 这意味着,即使随着数据量增大, 也几乎不会导致查询能の下降。 HBase 并不快, 只是当数据量很大的时候它慢的不明显。 凡事都不可能只有优点而没有缺点。数据分析是 HBase 的弱项,因为对于 HBase 乃至整个 NoSQL 生态圈来说, 基本上都是不支持表关联的。 当你想实现 group by 或者 order by...