Spark算子案例

[TOC]

HelloWord?WorldCount

1
sc.textfile("hdfs://master:9000/wc").flatMap(_.split("分隔符")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://master:9000/wcResult")

数据最开始在Driver,计算的时候数据会流入worker
当rdd形成过程中,worker的分区中只是预留了存放数据的位置,只有当action触发的时候,worker的分区中才会存在数据

Spark的运算都是通过算子进行RDD的转换及运算,那我们对算子进行简单熟悉参考RDD算子实例

查看更多

评论

Scala基本使用-杂记

[TOC]

Var和val

var 修饰的变量可改变,val 修饰的变量不可改变;但真的如此吗?事实上,var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态却是可以改变的。

定义方法

1
def m1(x:Int,y:Int):Int=x*y

查看更多

评论

Hadoop-HA-Federation机制

[TOC]

(1)hadoop-HA集群运作机制介绍

所谓HA,即高可用(7*24小时不中断服务)实现高可用最关键的是消除单点故障,hadoop-ha严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA

查看更多

评论

[TOC]

HBase介绍

HBase表很大:一个表可以有数十亿行,上百万列;

HBase的表将会分成很多个分区,每个分区部分会存在不同的机器上
分区是为了便于查询,放在不同机器上,io也增大,假如一个机器的io的是100m,两个就为200m,读取速度就变快了==>多台机器的io能得到充分利用

查看更多

评论

Kafka读写数据

[TOC]

首先kafka依赖于操作系统的pageCache机制,尽可能的把空闲的内存作为一个磁盘,只有发生缺页的才会放在磁盘中

查看更多

评论

Kafka深入解析

[TOC]

Kafka结构

  • Producer :消息生产者,就是向kafka broker发消息的客户端。
  • Consumer :消息消费者,向kafka broker取消息的客户端

  • Topic :可以理解为一个队列

    查看更多

评论

Kafka集群配置及配置文件

[TOC]

Kafka集群部署

kafka默认推荐的是2.11开头的,如果系统中没有其他软件依赖于Scala的话,就使用2.11版本的
scala是依赖于zookeeper的,所以需要给zookeeper配置地址

查看更多

评论

Kafka详细解析

[TOC]

Kafka是一个分布式消息队列:生产者、消费者的功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。
Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。
无论是kafka集群,还是producer和consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性

JMS的基础

JMS是什么?:JMS是Java提供的一套技术规范

JMS做什么?:用来异构系统 集成通信,缓解系统瓶颈,提高系统的伸缩性增强系统用户体验,使得系统模块化和组件化变得可行并更加灵活

JMS通过什么方式?:生产消费者模式(生产者、服务器、消费者)

jdk,kafka,activemq……

查看更多

评论

Hive累计报表

[TOC]

在 hive 做统计的时候,总是涉及到做累计的报表处理,下面案列就是来做相应处理

准备

创建数据文件

(在hadoop所在的机器)

vim /usr/hadoop/hivedata/t_sales.dat

1
2
3
4
5
6
7
8
9
10
舒肤佳,2018-06,5
舒肤佳,2018-06,15
美姿,2018-06,5
舒肤佳,2018-06,8
美姿,2018-06,25
舒肤佳,2018-06,5
舒肤佳,2018-07,4
舒肤佳,2018-07,6
美姿,2018-07,10
美姿,2018-07,5

上传到hdfs

1
hadoop fs -put /usr/hadoop/hivedata/t_sales.dat /local/hivedata/t_sales.dat

查看更多

评论

Hive分桶表,分区表简单分析

[TOC]

对于每一个表或者是分区,Hive 可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive 是针对某一列进行分桶。Hive 采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶中。分桶的好处是可以获得更高的查询处理效率。使取样更高效。

分桶依赖于yarn的所以分桶的时候需要启动yarn

查看更多

评论