随笔分类 - hadoop
hadoop学习笔记
摘要:hive使用create建表语句格式如下: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PA
阅读全文
摘要:hive有三种建表语句 1,create建表 CREATE EXTERNAL TABLE dwd_database.table_name( id BIGINT,user_id STRING,gmt_modified TIMESTAMP,gmt_create TIMESTAMP,pending_rew
阅读全文
摘要:一 hive的数据类型 1.1 基本类型 Hive 的原子数据类型是可以进行隐式转换的,类似于 Java 的类型转换,例如某表达式 使用 INT 类型,TINYINT 会自动转换为 INT 类型,但是 Hive 不会进行反向转化,例如,某表 达式使用 TINYINT 类型,INT 不会自动转换为 T
阅读全文
摘要:假设需求:假设现在数据量很大,数据从map端处理完以后,我们要把不同手机号码段的手机号放到不同的文件里面,比如以135开头的,给他放到一个文件里面,136开头的放到一起,137开头的放到一起等等等等; 就在刚才的项目中,新建一个provincepartitioner类: package MR.pho
阅读全文
摘要:与map端的模式类似,map端要重写Mapper方法,reduce端也要重写Reduce方法,这里有一个泛型,我们先看参数类型 分别对应输入keyin,valuein,keyout,valueout.。 这里前两个参数:keyin,valueint就是map端处理以后的键值对。map端的逻辑我们已经
阅读全文
摘要:之前我们写好了bean类型。现在我们再看看这个需求中,map和reduce各自的流程。 Map阶段: 字段切分以后保留如下字段:以第一行为例,就保留13726230503112 2481 24681 字段 将数据封装到PhoneBean里面 将手机号设置成keyout 将PhoneBean设置成va
阅读全文
摘要:上一个word count的案例中,我们为了理解mapreduce的流程,写了上面的代码。现在我们要把一个实体类序列化。比如现在有这么一个文件,里面的数据格式是这样的: 第一列是时间戳,第二列是手机号码,第三列是设备的物理地址,第四列是访问网站的ip地址,第五列是网站域名,第六列是数据包,下一列是接
阅读全文
摘要:我们之前已经在Windows中安装好了Hadoop,并且配置了环境变量。如果要在本地上运行的,还需要这两个文件,可以去找一下,放到Hadoop的bin目录下面。这样我们写好的mr程序就可以直接在Windows上面运行了,不用再去打包上传等等。
阅读全文
摘要:map过程已经写完了,上面那个流程我们涉及到了泛型以及序列化,我们要知道每个参数代表的含义,这样有助于我们理解整个流程。 下面我们开始reduce,这个过程我们要把map输出的键值对把key值相同的放在一起,具体的流程我们看代码: package MR.wc;import org.apache.ha
阅读全文
摘要:打开IDEA,File——new ——Project,新建一个项目 我们已经安装好了maven,不用白不用 这里不要选用骨架,Next。在写上Groupid,Next。 写上项目名称,finish。ok。 一个项目就建好了,他长这样: 新建的项目要配置一下maven。毕竟我们马上就要用它。然后导入依
阅读全文
摘要:先贴一战mr流程图,新手朋友不要看见这个图就头晕,我们后续会使用java API实现几个案例,帮助我们更好的理解各个环节,比如切片,文件读取,Map,combine,Reduce,shuffle等等。案例写完以后相信对mr流程会有一个比较深刻的理解。 具体的太理论的东西没什么好讲的,我们这里比较偏重
阅读全文
摘要:1,下载Hadoop,解压 2,配置Hadoop环境变量 右键此电脑——属性 高级系统设置 环境变量 新建一个HADOOP_HOME 添加到path 3,cmd窗口查看安装情况:hadoop version
阅读全文
摘要:现在Hadoop集群已经搭建好了,也了解了Hadoop操作的一些基本命令。现在我们要用java操作Hadoop。这里我们使用的ide是IDEA和maven。IDEA的话去官网下载一个,用激活码激活就ok。maven我用的是3.83版本,下载安装就行。注意配置一下环境变量。在配置文件里面修改一下本地仓
阅读全文
摘要:1,我们在第一个节点上创建一个文件:vim word.txt -hdfs dfs -put(原文件目录) (目标文件目录)这是一个上传文件的命令 输入命令:hdfs dfs -put /opt/data/words.txt / 这个命令的意思就是我们要从linux上上传一个文件到hdfs,这个文件的
阅读全文
摘要:我们创建了三台虚拟机,不同的机器有不同的角色,我们需要做一个部署规划 hdfs系统分配:101是namenode,接收客户端请求,保存元数据,当然了,这台机器空闲资源的时候,也可以做一些计算存储,给他分配一个datanode的角色。102数据主要用来存储数据内容存储数据块,同时存储block的元数据
阅读全文
摘要:新建的三台虚拟机之间需要设置免密码登录 注意:三台机器都要操作,如果使用xshell的童鞋就有福了,可以使用选项卡工具同时操作:
阅读全文
摘要:之前我们搭建了一个伪分布式Hadoop系统,只有一台机器。现在我们再搭建两台虚拟机。 1,先关闭Linux。右键点击虚拟机 2,快照——拍摄快照 如图: 拍摄快照。 3,进入快照管理 4,快照1——克隆 5,下一步 6,下一步 7,创建完整克隆,下一步 8,设置虚拟机名称,设置位置,这个位置要与之前
阅读全文
摘要:1,下载Hadoop安装包我用的2.8.4版本,上传到Linux上面(跟之前上传jdk文件一样) 2,解压安装包:tar -zxvf 文件名 3,修改一下权限: 4,进入到Hadoop配置文件下面: 输入命令:cd hadoop-2.8.4/etc 输入命令:cd hadoop 在这里配置一个伪分布
阅读全文
摘要:1,输入命令,查看是否已经安装了Openjdk:rpm -qa | grep java 如果有已经安装的java版本或者版本低于1.7,卸载该jdk:rpm -e 软件包名字 如果不能卸载,可以加上 --nodeps这个参数去卸载 2,去官网下载linux的jdk 的gz包,使用xftp工具把jdk
阅读全文
摘要:1,关闭防火墙 在命令行输入一下命令:systemctl stop firewalld.service 再输入:systemctl status firewalld.service 显示这样,说明防火墙已经关闭 2,禁用防火墙 输入命令:systmctl disable firewalld.serv
阅读全文