Hadoop 2

yarn配置

1.在 app/hadoop/etc/hadoop/mapred-site.xml 编辑加入

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

2.在 app/hadoop/etc/hadoop/yarn-site.xml编辑加入

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

3.启动yarn

start-yarn.sh

4.关闭yarn

stop-yarn.sh

防止8088端口被挖矿

在 app/hadoop/etc/hadoop/yarn-site.xml编辑加入

    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:9527</value>
    </property>

作业

1.yarn.app.mapreduce.am.env、mapreduce.map.env、mapreduce.reduce.env的意义

yarn.app.mapreduce.am.env:MapReduce作业产生的日志存放位置。
mapreduce.map.env:Map Task任务
mapreduce.reduce.env:Reduce Task任务

2.跑一遍wordcount作业

在 data/目录下创建一个txt文件

touch wordcount.txt

用vi命令编辑wordcount.txt内容

在hdfs上创建 /wordcount/input 目录文件夹,并将 wordcount.txt移入input目录下

hdfs dfs -mkdir -p /wordcount/input
hdfs dfs -put wordcount.txt /wordcount/input

运行以下命令,第一遍会报错

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wordcount/input /wordcount/output

在 app/hadoop/etc/hadoop/mapred-site.xml 编辑加入

<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

再次运行,成功。

3.sql题

(1)emp表,求部门内(DEPTNO)最高的总薪资(SAL+COMM)的部门,姓名,总薪资

select deptno, ename, total_sal
  from (select deptno,
               ename,
               sal + nvl(comm, 0) as total_sal,
               rank() over(partition by deptno order by sal + nvl(comm, 0) desc) as rn,
               max(sal + nvl(comm, 0)) over(partition by deptno order by sal + nvl(comm, 0) desc) as max_sal
          from emp) t
 where t.max_sal = t.total_sal

(2)emp表,求部门内薪资(SAL)大于平均薪资的人的部门,姓名,薪资和平均薪资

要求:用两种方法实现,自关联和窗口函数

select t1.deptno, t1.ename, t1.sal, t2.avg_sal
  from emp t1
 right join (select avg(SAL) avg_sal from emp) t2
    on t1.sal > t2.avg_sal



select deptno, ename, sal, avg_sal
  from (select deptno,
               ename,
               sal,
               avg(sal) over(partition by deptno order by sal) avg_sal
          from emp) t
 where t.sal > t.avg_sal

(3)emp表,求同部门,按照薪资(SAL)从大到小排名,排名上一位和下一位分别是多少薪资

select t1.sal, t1.deptno, t1.rk, t2.sal, t3.sal
  from (select sal,
               deptno,
               dense_rank() over(partition by deptno order by sal desc) rk
          from emp) t1
  left join (select deptno,
                    sal,
                    dense_rank() over(partition by deptno order by sal desc) as rk1
               from emp) t2
    on t1.deptno = t2.deptno
   and t2.rk1 = t1.rk - 1
  left join (select deptno,
                    sal,
                    dense_rank() over(partition by deptno order by sal desc) as rk2
               from emp
             ) t3
    on t1.deptno = t3.deptno
   and t3.rk2 = t1.rk + 1
 order by t1.deptno, t1.rk

(4)ROWS BETWEEN

语法
(ROWS | RANGE) BETWEEN (UNBOUNDED | [num]) PRECEDING AND ([num] PRECEDING | CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING)
(ROWS | RANGE) BETWEEN CURRENT ROW AND (CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING)
(ROWS | RANGE) BETWEEN [num] FOLLOWING AND (UNBOUNDED | [num]) FOLLOWING

4.如何避免小文件过多

合并小文件,可以选择在客户端上传时执行一定的策略先合并,或者是使用Hadoop的CombineFileInputFormat<K,V>实现小文件的合并

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop 2和Hadoop 3都是分布式计算框架Hadoop的不同版本。它们的配置文件包括但不限于以下几个重要的文件。 1. core-site.xml:这个文件配置了Hadoop集群的核心设置,包括Hadoop文件系统(HDFS)的URI和默认的文件系统方案等。例如, ``` <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 2. hdfs-site.xml:这个文件配置了Hadoop分布式文件系统(HDFS)的相关设置。例如,可以配置数据块的复本数、NameNode的副本数量等。例如, ``` <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> </configuration> ``` 3. mapred-site.xml:这个文件配置了Hadoop MapReduce框架的相关设置,如任务调度器和资源管理器的类型等。例如, ``` <configuration> <property> <name>yarn.app.mapreduce.am.scheduler.type</name> <value>fair</value> </property> </configuration> ``` 4. yarn-site.xml:这个文件配置了Hadoop资源管理器(YARN)的相关设置,如可用资源的上限、NodeManager的数量等。例如, ``` <configuration> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>8192</value> </property> </configuration> ``` 这些是Hadoop 2和Hadoop 3中常见的一些配置文件。根据实际需求,还可以进行其他配置,如日志级别、安全设置等。配置文件的正确设置对于Hadoop集群的性能和稳定性至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值