hadoop
小菜菜1223
qq846792646
展开
-
hdfs 批量删除某日期文件
今天在写表的时候发现没有把历史数据删除,所以要删除非本日日期的文件。1、首先将非本日日期的文件输出到txthdfs dfs -ls hdfs://warehouse/profile/ | grep -v 2022-03-09 >./2.txt2、利用awk编写删除脚本cat 2.txt | awk -F " " '{print "hadoop fs -rm -r " $8}' > ./1.sh3、运行脚本/bin/bash 1.sh...原创 2022-03-09 10:17:08 · 3764 阅读 · 0 评论 -
python2 连接hdfs 解决kerberos认证
首先安装包:pip2 install hdfspip2 install requests_kerberos然后代码认证from hdfs.ext.kerberos import KerberosClientclient = KerberosClient('http://xx.xx.xx.xx:50070', hostname_override="bj-gc3-arch-hadoop-namenode-01") client.list('/user')...原创 2021-11-04 16:39:31 · 874 阅读 · 0 评论 -
java hadoop(六) hadoop mapreduce 规约Combiner案例
什么是规约Combiner:每一个map都可能会产生大量的本地输出,Combiner的作用就是对map端的输出先做一次合并,以减少在map和reduce节点之间的数据传输量,以提高网络IO性能。Combiner会在没一个maptask所在的节点运行。这里我们以单词统计demo为例,加入一个Combiner,减少map->reduce的传输量。编写Combiner代码:package mapreduce;import org.apache.hadoop...原创 2021-06-10 09:47:08 · 131 阅读 · 0 评论 -
java hadoop(五) hadoop mapreduce 排序和序列化案例
什么是序列化与反序列化:序列化(Serialization)是指把结构化对象转化为字节流。反序列化(Deserialization)是序列化的逆过程。把字节流转为结构化对象。mapreduce中的序列化:实现这个接口即可第一个方法是进行序列化第二个方法是反序列化mapreduce中的排序:WritableComparable 接口包含了排序以及序列化,如果我们序列化的同时还需要排序,就实现这个接口即可。需求:代码实现:目录结构:包装类:通.原创 2021-06-09 19:26:32 · 291 阅读 · 0 评论 -
java hadoop(四) hadoop mapreduce 分区案例
我们在编码步骤那章简单介绍了一下分区。其实通俗来说,分区就是根绝K的某个特征属性(可能是大小、长度以及尾号等等),将K的数据写到不同的文件里。比如我们根据ID来分区,我们可以根据尾号来分10个文件。有几个分区就有几个Reduce Task。实现分区案例:我们根据hdfs文件中的这个字段大小进行分区,大于15的一个区,小于15的一个区,最终有两个out文件。目录结构:Mapper:package partitiondemo;import org.apa..原创 2021-06-09 16:52:13 · 386 阅读 · 1 评论 -
java hadoop(三) hadoop mapreduce 编程流程(以单词统计为例)
一、首先是map层1、首先我们的文件是存储在hdfs,hdfs存储文件是按block块进行存储的,每个块的大小默认是128M。2、我们是用InputFormat下边的子类TextInputFormat进行文件按行读取成K1 V1 模式 K1:这一行的起始点在文件中的偏移量V1:读取到的内容3、每个block都会启动一个MapTask进行处理,map的主要操作就是将读取的内容转换成 K2 V2二、进入Shuffle阶段,生成新的K2 V21、对map阶段输出的k2和v...原创 2021-06-09 15:50:04 · 348 阅读 · 1 评论 -
java hadoop(二) hadoop mapreduce简单介绍以及简单实例
1、简单介绍一下mapreduceMapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。Reduce负责“合”,即对map阶段的结果进行全局汇总。这两个阶段合起来正是MapReduce思想的体现。2、mapreduce编写步骤https://lansonli.blog.csdn.net/article/.原创 2021-06-08 11:00:01 · 732 阅读 · 1 评论 -
java hadoop(一) 连接hadoop 执行操作
1、先导入依赖:pom.xml:<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.7.5</version> </d原创 2021-06-07 19:34:46 · 1375 阅读 · 0 评论