-
[综合] Hadoop切分纯文本时对某一行跨两个分片这种情况的处理
hdfs写入文件需要把大文件分割成多个块,那么有可能会把文件的某一个行分成在不同的块中;这是一个出现分块的时候。还有个就是我的上篇博文中说到的,在mapreduce处理时,当hdfs分块的block大小大于split设置的最大值时也会分割成多个split分片,相当于对块的进一步切割。但是这两种情况出...
29
热度 -
[综合] Sqoop全量数据导入、增量数据导入、并发导入
Sqoop支持两种方式的全量数据导入和增量数据导入,同时可以指定数据是否以并发形式导入。下面依次来看: 全量数据导入 全量数据导入就是一次性将所有需要导入的数据,从关系型数据库一次性地导入到Hadoop中(可以是HDFS、Hive等)。全量导入形式使用场景为一次性离线分析场景。用sqoopimpor...
88
热度 -
[综合] Hive参数配置及数据类型
1.查看当前所有的配置信息hive>set;2.参数的配置三种方式(1)配置文件方式默认配置文件:hive-default.xml用户自定义配置文件:hive-site.xml注意:用户自定义配置会覆盖默认配置。另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启...
77
热度 -
[综合] Hive数据导入与导出
1.向表中装载数据(Load) 基本语法 hive>loaddatalocalinpath '/opt/module/datas/student.txt' [overwrite]intotablestudent[partition(partcol1=val1,…)]; (1)loadda...
49
热度 -
[综合] 理解Hive开窗函数(窗口函数)
一.原始数据 jack,2017-01-01,10tony,2017-01-02,15jack,2017-02-03,23tony,2017-01-04,29jack,2017-01-05,46jack,2017-04-06,42-tony,2017-01-07,50jack,2017-01-08,...
35
热度 -
[综合] Linux shell条件判断if中的-a到-z的意思
[-aFILE]如果FILE存在则为真。[-bFILE]如果FILE存在且是一个块特殊文件则为真。[-cFILE]如果FILE存在且是一个字特殊文件则为真。[-dFILE]如果FILE存在且是一个目录则为真。[-eFILE]如果FILE存在则为真。[-fFILE]如果FILE存在且是一个普通文件则为...
104
热度 -
[综合] Hadoop集群手动小文件存档
1、HDFS存储小文件弊端每个文件均按块存储,每个块的元数据存储在NameNode的内存中,因此HDFS存储小文件会非常低效。因为大量的小文件会耗尽NameNode中的大部分内存。但注意,存储小文件所需要的磁盘容量和数据块的大小无关。例如,一个1MB的文件设置为128MB的块存储,实际使用的是1MB...
79
热度 -
[综合] MapReduce企业优化
MapReduce程序效率的瓶颈在于两点: 1.计算机性能CPU、内存、磁盘健康、网络2.I/O操作优化(1)数据倾斜(2)Map和Reduce数设置不合理(3)Map运行时间太长,导致Reduce等待过久(4)小文件过多(5)大量的不可分块的超大文件(6)Spill次数过多(7)Merge次数过多...
34
热度 -
[综合] Kafka的ack机制
ack=0/1/-1的不同情况:0:producer不等待broker的ack,broker一接收到还没有写入磁盘就已经返回,当broker故障时有可能丢失数据;1:producer等待broker的ack,partition的leader落盘成功后返回ack,如果在follower同步成功之前le...
86
热度 -
[综合] Kafka消费者高级API
优点: 高级API写起来简单 不需要自行去管理offset,系统通过zookeeper自行管理 不需要管理分区,副本等情况,系统自动管理 消费者断线会自动根据上一次记录在zookeeper中的offset去接着获取数据;可以使用group来区分对同一个topic的不同程序访问分离开来(不同的gro...
94
热度 -
[综合] Kafka拦截器(interceptor)功能
Producer拦截器(interceptor)是在Kafka0.10版本被引入的,主要用于实现clients端的定制化控制逻辑。对于producer而言,interceptor使得用户在消息发送前以及producer回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer允许...
36
热度 -
[综合] Hive自定义UDTF解析Json串
用于解析et事件的Json字符串 Maven依赖如下: <properties><project.build.sourceEncoding>UTF8</project.build.sourceEncoding><hive.version>1.2.1&l...
53
热度 -
50
热度 -
[综合] HIVE中的from_unixtime函数
hive中的from_unixtime()函数,可以把时间戳格式的时间,转化为年月日时分秒格式的时间。 from_unixtime的参数要求为整数,且单位为秒。 如果从业务系统拿到的时间戳格式的时间单位为毫秒,则需要先将它转化为秒,方法如下 from_unixtime(int(timestamp_i...
81
热度 -
17
热度 -
[综合] 理解flume hdfs sink round 和roll
我们在配置flumehdfssink的时候注意这两个配置项,比如: collector1.sinks.sink_hdfs.hdfs.rollSize=2048000000 collector1.sinks.sink_hdfs.hdfs.rollCount=0 collector1.sinks.sin...
119
热度 -
[综合] 快排算法用java实现
importjava.util.Arrays;//手写快速排序 publicclassQuickSort{publicstaticvoidmain(String[]args){int[]arr={2,4,8,3,5,9,1};System.out.println(Arrays.toString(ar...
12
热度 -
[综合] RDD的转换算子(Value类型)
Value类型: map(func) mapPartitions(func) mapPartitionsWithIndex(func) flatMap(func) map()和mapPartition()的区别 map():每次处理一条数据。 mapPartition():每次处理一个分区的数...
23
热度 -
[综合] [spark] 调度模式(FIFOFAIR)
前言spark应用程序的调度体现在两个地方,第一个是Yarn对spark应用间的调度,第二个是spark应用内(同一个SparkContext)的多个TaskSetManager的调度,这里暂时只对应用内部调度进行分析。spark的调度模式分为两种:FIFO(先进先出)和FAIR(公平调度)。默认是...
74
热度 -
[综合] Spark的Action算子
reduce(func)通过func函数聚集RDD中的所有元素,先聚合分区内数据,再聚合分区间数据 collect()案例作用:在驱动程序中,以数组的形式返回数据集的所有元素 count()案例作用:返回RDD中元素的个数 first()案例作用:返回RDD中的第一个元素 take(n)案例作用:返...
29
热度