hadoop
fantasticqiang
java
展开
-
hadoop读写mysql数据库
需求描述我们有两张表“成绩表”和“总分表”,从成绩表中计算出每个学生的总成绩,记录到总分表中。表结构//成绩表记录学生id,课程id,这科分数CREATE TABLE `score` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sid` int(11) DEFAULT NULL, `cid` int(11) DEFAULT NULL, `sc...原创 2018-06-12 16:25:07 · 6878 阅读 · 0 评论 -
hadoop二次排序应用,实现两表连接join操作
背景 有两个文件customer.txt,orders.txt分别记录着客户的信息和客户的订单信息。我们要实现数据库中的join操作,类似于“select a.*,b.* from A a,B b where a.cid = b.cid;”。//customer.txt中记录的是客户信息//cid,name,age1,tom1,122,tom2,133,tom3,144,tom4,...原创 2018-06-20 13:48:05 · 773 阅读 · 0 评论 -
hadoop--搭建hbase集群
背景我们已经搭建了HA高可用的hdfs集群,现在要在hdfs集群的基础上搭建hbase集群。可以看我之前的一篇hdfs集群搭建,https://blog.csdn.net/fantasticqiang/article/details/80707837自行官网下载hbase,我这里选用1.2.3版本修改hbase配置文件1. hbase-env.sh//#配置一下JAVA环境export JAVA...原创 2018-06-26 15:21:00 · 226 阅读 · 0 评论 -
hbase基本命令,api操作
hbase单节点安装 启动一个单节点的hbase方便我们测试,学习。在官网下载hbase.tar.gz安装包 https://hbase.apache.org/修改配置文件${hbase}/conf/hbase-env.sh,指定jdk位置【hbase-env.sh】export JAVA_HOME=/usr/local/jdk【hbase-site.xml】指定hbase的data路径,z...原创 2018-06-29 17:21:10 · 1346 阅读 · 0 评论 -
hadoop链式处理
场景说明:hadoop是按照key的hash值来进行分区,假如分区后某个区的数据量很大,导致绝大多数的数据发往一个reducer节点,拖慢整个job的进度。原创 2018-06-10 17:58:50 · 335 阅读 · 0 评论 -
hdfs集群节点的服役和退役(上线 下线)
问题描述我们在维护hadoop集群的时候,需要动态增加和删除datanode或者yarn管理节点,而不是停掉整个集群。首先,hadoop配置文件目录下的hdfs-site.xml中维护这集群“白名单”和“黑名单”两个文件,如果没有的话需要在配置文件中添加这两个属性。<property> <!-- 白名单信息--> <name>dfs.hosts</...原创 2018-06-02 12:10:06 · 4551 阅读 · 0 评论 -
hdfs基本命令操作
hdfs基本命令操作使用oiv查看hadoop镜像文件进入hadoop name目录下,/home/hadoop/hadoop/tmp/dfs/name/current。输入: "hdfs oiv"查看oiv命令使用详情。hdfs oiv -i fsimage_0000000000000000128 -o a.xml -p XML可以使用编辑器查看xml文件,上面维护着文件的目录、权限、block...原创 2018-06-02 10:05:37 · 1440 阅读 · 0 评论 -
Hadoop-Apache Avro数据序列化系统
背景 Avro由hadoop之父Doug Cutting开发,旨在解决hadoop中序列化的语言可移植性。是一种能够被多种语言(C,C#,C++,JAVA,PHP,Python,Ruby)处理的数据格式。 Avro模式通常用JSON来写,使用二进制格式进行编码。Avro是自描述语言,数据结构和数据都存在文件中。文件可压缩可切割。Avro中的类型 原始数据类型 原始数...原创 2018-06-23 17:10:22 · 399 阅读 · 0 评论 -
hadoop HA高可用集群搭建,ZooKeeper自动容灾
背景因为hadoop集群只有一个namenode,如果机器或者进程不可用之后,整个集群就瘫痪了,namenode节点存在单点故障的问题。HA架构 通常一个典型的HA集群有两个namenode,在任一时刻只有一个namenode是active状态,另外一个namenode处于standby待命状态。active激活态的namenode负责客户端的操作,standby待命态扮演slave从节点的...原创 2018-06-15 17:31:25 · 2477 阅读 · 0 评论 -
hadoop二次排序理解实战
描述MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的。在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求。输入数据1 -122 -203 104 -55 151 202 303 404 255 301 402 413 424 435 441 -302 -313 -324 -...原创 2018-06-08 10:41:14 · 1415 阅读 · 0 评论 -
hive中的事物操作
背景 hive中默认是不支持事物的,Hive的常见也一般都是一次写入,频繁读取。加入事物之后,支持update、insert、delete操作保存的文件格式必须为crc格式file需要修改配置文件开启事物表必须分桶 找到hive目录下conf文件夹中的hive-site.xml文件,需要修改的项和它对应的value值:These configuration parameters mus...原创 2018-06-22 10:50:50 · 979 阅读 · 0 评论 -
hive中的distribute by
1.背景 hive中有一个store表,字段分别是"商店所属人标识"(merid),“商户余额(money)”,“商店名称(name)”。求每个法人下属的商店的余额按照降序排序。//merid,money,nameB 10 store_B_4A 12 store_A_1A 14 store_A_2B 15 store_B_1B 19 store_B_2B 30 sto...原创 2018-06-22 10:07:56 · 58647 阅读 · 4 评论 -
hdfs使用随机采样器进行分区划分实现全排序,totalOrderPartitioner,sampler
问题描述现在有个sequenceFile文件里面记录着年份和温度,key是年份value是温度,找出每年的最高气温然后按照年份递增排序。因为reducer默认会对key进行排序,解决办法有两种:第一种使用一个reducer,第二种是使用分区函数对年份进行分段,在每一个段是递增排序,几个reducer处理后的文件拼接后在整体上也是有序的。自定义的Mapper只需要把key-value发往Reduce...原创 2018-06-07 10:47:37 · 654 阅读 · 0 评论 -
hadoop sequenceFile详解
hadoop不仅可以处理文本信息,还可以处理二进制格式数据,sequenceFile就是这样的文件。有以下特点:可分割支持压缩每一行都是一个key value对可以设置同步点SequenceFile的格式是由一个header 跟随一个或多个记录组成。前三个字节是一个Bytes SEQ代表着版本号,同时header也包括key的名称,value class , 压缩细节,metadata,以及Syn...原创 2018-06-06 16:35:42 · 1637 阅读 · 0 评论 -
hadoop配置机架感知,原理
背景“hadoop权威指南”里面有说明,配置机架感知的目的就是要最大程度发挥hadoop的性能,要做到这点就是知道hadoop集群的网络拓扑结构(it knows the topology of your network)。如果集群中的机器都跑在一个机架上,那么我们什么都不用做,集群下的节点默认都是在“/default-rack”下的,可以启动hadoop集群的时候查看logs/namenode....原创 2018-06-13 11:13:44 · 1704 阅读 · 0 评论 -
hdfs api基本操作
以下是hadoop 基本API使用,包括文件上传,文件下载,查看文件目录,创建文件夹,删除文件。package com.lqq.hadoop;import java.io.ByteArrayOutputStream;import java.io.InputStream;import org.apache.hadoop.conf.Configuration;import org.apac...原创 2018-05-31 17:46:12 · 539 阅读 · 0 评论 -
hive--安装hive,基本命令
说明 对hive基本命令进行实战,要求本机安装着mysql和启动hdfs。 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表, 并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计, 不必开发专门的MapReduce应用,...原创 2018-06-20 17:37:25 · 841 阅读 · 0 评论