HADOOP介绍

2023-11-10

1. HADOOP背景介绍

1.1 什么是HADOOP

  1. HADOOP是apache旗下的一套开源软件平台
  2. HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
  3. HADOOP的核心组件有
      1. HDFS(分布式文件系统)
      2. YARN(运算资源调度系统)
      3. MAPREDUCE(分布式运算编程框架)
  4. 广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈

1.2 HADOOP产生背景

  1. HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
  2. 2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案

——分布式文件系统(GFS),可用于处理海量网页的存储

——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。

  1. Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期。

1.3 HADOOP在大数据、云计算中的位置和关系

  1. 云计算是分布式计算、并行计算、网格计算、多核计算、网络存储、虚拟化、负载均衡等传统计算机技术和互联网技术融合发展的产物。借助IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等业务模式,把强大的计算能力提供给终端用户。

 

  1. 现阶段,云计算的两大底层支撑技术为“虚拟化”和“大数据技术

 

  1. 而HADOOP则是云计算的PaaS层的解决方案之一,并不等同于PaaS,更不等同于云计算本身。

 

 

 

 

1.4 国内外HADOOP应用案例介绍

1、HADOOP应用于数据服务基础平台建设

9fbe8aa03bef410bad5b1871a293b49d.png

 

 

2/HADOOP用于用户画像

2e78895443df427aa7ee7ad0bf2e61c3.png

 

 

3、HADOOP用于网站点击流日志数据挖掘

75ed4828600841d8a28c73364e3d421b.png

 

1.5 国内HADOOP的就业情况分析

  1. HADOOP就业整体情况
  1. 大数据产业已纳入国家十三五规划
  2. 各大城市都在进行智慧城市项目建设,而智慧城市的根基就是大数据综合平台
  3. 互联网时代数据的种类,增长都呈现爆发式增长,各行业对数据的价值日益重视
  4. 相对于传统JAVAEE技术领域来说,大数据领域的人才相对稀缺
  5. 随着现代社会的发展,数据处理和数据挖掘的重要性只会增不会减,因此,大数据技术是一个尚在蓬勃发展且具有长远前景的领域

 

 

  1. HADOOP就业职位要求

大数据是个复合专业,包括应用开发、软件平台、算法、数据挖掘等,因此,大数据技术领域的就业选择是多样的,但就HADOOP而言,通常都需要具备以下技能或知识:

  1. HADOOP分布式集群的平台搭建
  2. HADOOP分布式文件系统HDFS的原理理解及使用
  3. HADOOP分布式运算框架MAPREDUCE的原理理解及编程
  4. Hive数据仓库工具的熟练应用
  5. Flume、sqoop、oozie等辅助工具的熟练使用
  6. Shell/python等脚本语言的开发能力

 

1.6 HADOOP生态圈以及各组成部分的简介

e5d60bfc4b42446c8c83dd136d8a93f5.png

 

各组件简介[M1] 

 

 

重点组件:

HDFS:分布式文件系统

MAPREDUCE:分布式运算程序开发框架

HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具

HBASE:基于HADOOP的分布式海量数据库

ZOOKEEPER:分布式协调服务基础组件

Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库

Oozie:工作流调度框架

Sqoop:数据导入导出工具

Flume:日志数据采集框架

 

 

 

2 分布式系统概述

注:由于大数据技术领域的各类技术框架基本上都是分布式系统,因此,理解hadoop、storm、spark等技术框架,都需要具备基本的分布式系统概念

 

2.1 分布式软件系统(Distributed Software Systems)

  • 该软件系统会划分成多个子系统或模块,各自运行在不同的机器上,子系统或模块之间通过网络通信进行协作,实现最终的整体功能
  • 比如分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。

 

2.2 分布式软件系统举例:solrcloud

  1. 一个solrcloud集群通常有多台solr服务器
  2. 每一个solr服务器节点负责存储整个索引库的若干个shard(数据分片)
  3. 每一个shard又有多台服务器存放若干个副本互为主备用
  4. 索引的建立和查询会在整个集群的各个节点上并发执行
  5. solrcloud集群作为整体对外服务,而其内部细节可对客户端透明

总结:利用多个节点共同协作完成一项或多项具体业务功能的系统就是分布式系统。

 

2.3 分布式应用系统模拟开发

需求:可以实现由主节点将运算任务发往从节点,并将各从节点上的任务启动;

程序清单:

AppMaster

AppSlave/APPSlaveThread

Task

程序运行逻辑流程:

4ece7e49c1364d629fbd70917f4a3616.png

 

 

3. 离线数据分析流程介绍

注:本环节主要感受数据分析系统的宏观概念及处理流程,初步理解hadoop等框架在其中的应用环节,不用过于关注代码细节

 

一个应用广泛的数据分析系统:“web日志数据挖掘”

d42510a908f540c7b870bbb757464ea9.png

 

3.1 需求分析

3.1.1 案例名称

“网站或APP点击流日志数据挖掘系统”[M2] 。

 

3.1.2 案例需求描述

“Web点击流日志”包含着网站运营很重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值,广告转化率、访客的来源信息,访客的终端信息等。

 

3.1.3 数据来源

本案例的数据主要由用户的点击行为记录

获取方式:在页面预埋一段js程序,为页面上想要监听的标签绑定事件,只要用户点击或移动到标签,即可触发ajax请求到后台servlet程序,用log4j记录下事件信息,从而在web服务器(nginx、tomcat等)上形成不断增长的日志文件。

形如:

58.215.204.118 - - [18/Sep/2013:06:51:35 +0000] "GET /wp-includes/js/jquery/jquery.js?ver=1.10.2 HTTP/1.1" 304 0 "http://blog.fens.me/nodejs-socketio-chat/" "Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0"

 

 

 

 

3.2 数据处理流程

3.2.1 流程图解析

本案例跟典型的BI系统极其类似,整体流程如下:

d9290facfd2944b8ad400e94eb4b2de6.png

 

但是,由于本案例的前提是处理海量数据,因而,流程中各环节所使用的技术则跟传统BI完全不同,后续课程都会一一讲解:

  1. 数据采集:定制开发采集程序,或使用开源框架FLUME
  2. 数据预处理:定制开发mapreduce程序运行于hadoop集群
  3. 数据仓库技术:基于hadoop之上的Hive
  4. 数据导出:基于hadoop的sqoop数据导入导出工具
  5. 数据可视化:定制开发web程序或使用kettle等产品
  6. 整个过程的流程调度:hadoop生态圈中的oozie工具或其他类似开源产品

 

3.2.2 项目技术架构图

6854308699204a249d6ceaf9198fec02.png

 

3.2.3 项目相关截图(感性认识,欣赏即可)

  1. Mapreudce程序运行

b14412da2b064869a0109ba858f1a411.png

 

 

  1. 在Hive中查询数据

e71714d02e0e44a58770a478aa95d357.png

 

 

  1. 将统计结果导入mysql

./sqoop export --connect jdbc:mysql://localhost:3306/weblogdb --username root --password root  --table t_display_xx  --export-dir /user/hive/warehouse/uv/dt=2014-08-03

 

 

 

 

 

3.3 项目最终效果

经过完整的数据处理流程后,会周期性输出各类统计指标的报表,在生产实践中,最终需要将这些报表数据以可视化的形式展现出来,本案例采用web程序来实现数据可视化

效果如下所示:

a4fbd377675a4511bf3cb43e978ce723.png

 

 

 

 

 

 

4. 集群搭建

4.1 HADOOP集群搭建

4.1.1集群简介

HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起

HDFS集群:

负责海量数据的存储,集群中的角色主要有 NameNode / DataNode

YARN集群:

负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

(那mapreduce是什么呢?它其实是一个应用程序开发包)

 

本集群搭建案例,以5节点为例进行搭建,角色分配如下:

hdp-node-01    NameNode  SecondaryNameNode

hdp-node-02    ResourceManager

hdp-node-03              DataNode    NodeManager

hdp-node-04              DataNode    NodeManager

hdp-node-05              DataNode    NodeManager

部署图如下:

00584501b8704ba2a94577b4582188b8.png

 

4.1.2服务器准备

本案例使用虚拟机服务器来搭建HADOOP集群,所用软件及版本:

  • Vmware 11.0
  • Centos  6.5  64bit

 

4.1.3网络环境准备

  • 采用NAT方式联网
  • 网关地址:192.168.33.1
  • 3个服务器节点IP地址:192.168.33.101、192.168.33.102、192.168.33.103
  • 子网掩码:255.255.255.0

4.1.4服务器系统设置

  • 添加HADOOP用户
  • 为HADOOP用户分配sudoer权限
  • 同步时间
  • 设置主机名
    1. hdp-node-01
    2. hdp-node-02
    3. hdp-node-03
  • 配置内网域名映射:
    1. 192.168.33.101          hdp-node-01
    2. 192.168.33.102          hdp-node-02
    3. 192.168.33.103          hdp-node-03
  • 配置ssh免密登陆
  • 配置防火墙

 

4.1.5 Jdk环境安装

  • 上传jdk安装包
  • 规划安装目录  /home/hadoop/apps/jdk_1.7.65
  • 解压安装包
  • 配置环境变量 /etc/profile

 

 

4.1.6 HADOOP安装部署

  • 上传HADOOP安装包
  • 规划安装目录  /home/hadoop/apps/hadoop-2.6.1
  • 解压安装包
  • 修改配置文件  $HADOOP_HOME/etc/hadoop/

最简化配置如下:

vi  hadoop-env.sh

# The java implementation to use.

export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_51

 

vi  core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://hdp-node-01:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/HADOOP/apps/hadoop-2.6.1/tmp</value>

</property>

</configuration>

vi  hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/hadoop/data/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/hadoop/data/data</value>

</property>

 

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

 

<property>

<name>dfs.secondary.http.address</name>

<value>hdp-node-01:50090</value>

</property>

</configuration>

 

 

 

vi  mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

 

vi  yarn-site.xml

<configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop01</value>

</property>

 

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

 

vi  salves

hdp-node-01

hdp-node-02

hdp-node-03

 

 

4.1.7 启动集群

初始化HDFS

bin/hadoop  namenode  -format

 

启动HDFS

sbin/start-dfs.sh

 

启动YARN

sbin/start-yarn.sh

4.1.8 测试

1、上传文件到HDFS

从本地上传一个文本文件到hdfs的/wordcount/input目录下

[HADOOP@hdp-node-01 ~]$ HADOOP fs -mkdir -p /wordcount/input

[HADOOP@hdp-node-01 ~]$ HADOOP fs -put /home/HADOOP/somewords.txt  /wordcount/input

 

2、运行一个mapreduce程序

在HADOOP安装目录下,运行一个示例mr程序

cd $HADOOP_HOME/share/hadoop/mapreduce/

hadoop jar mapredcue-example-2.6.1.jar wordcount /wordcount/input  /wordcount/output

 

 

 

 

 

5 集群使用初步

5.1 HDFS使用

1、查看集群状态

命令:   hdfs  dfsadmin  –report

2a18961d212747a5b0caf83756d017ce.png

 

可以看出,集群共有3个datanode可用

也可打开web控制台查看HDFS集群信息,在浏览器打开http://hdp-node-01:50070/

327a0ed4178a4f48aea5cb1feabeee00.png

 

2、上传文件到HDFS

  • 查看HDFS中的目录信息

命令:   hadoop  fs  –ls  /

3b72fe75d7e249078668d5397456b00b.png

 

 

  • 上传文件

命令:   hadoop  fs  -put  ./ scala-2.10.6.tgz  to  /

c1618ae7ca46418d8f9ea07d13acd58f.png

 

 

  • 从HDFS下载文件

命令:  hadoop  fs  -get  /yarn-site.xml

8cb2a9cfb8d74a13b625a28c3ee416d7.png

 

 

 

 

 

 

 

 

5.2 MAPREDUCE使用

mapreduce是hadoop中的分布式运算编程框架,只要按照其编程规范,只需要编写少量的业务逻辑代码即可实现一个强大的海量数据并发处理程序

5.2.1 Demo开发——wordcount

1、需求

从大量(比如T级别)文本文件中,统计出每一个单词出现的总次数

 

2、mapreduce实现思路

Map阶段:

  1. 从HDFS的源数据文件中逐行读取数据
  2. 将每一行数据切分出单词
  3. 为每一个单词构造一个键值对(单词,1)
  4. 将键值对发送给reduce

 

Reduce阶段:

  1. 接收map阶段输出的单词键值对
  2. 将相同单词的键值对汇聚成一组
  3. 对每一组,遍历组中的所有“值”,累加求和,即得到每一个单词的总次数
  4. 将(单词,总次数)输出到HDFS的文件中

 

 

  1. 具体编码实现

(1)定义一个mapper类

//首先要定义四个泛型的类型

//keyin:  LongWritable    valuein: Text

//keyout: Text            valueout:IntWritable

 

public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{

         //map方法的生命周期:  框架每传一行数据就被调用一次

         //key :  这一行的起始点在文件中的偏移量

         //value: 这一行的内容

         @Override

         protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {

                   //拿到一行数据转换为string

                   String line = value.toString();

                   //将这一行切分出各个单词

                   String[] words = line.split(" ");

                   //遍历数组,输出<单词,1>

                   for(String word:words){

                            context.write(new Text(word), new IntWritable(1));

                   }

         }

}

 

(2)定义一个reducer类

         //生命周期:框架每传递进来一个kv 组,reduce方法被调用一次

         @Override

         protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {

                   //定义一个计数器

                   int count = 0;

                   //遍历这一组kv的所有v,累加到count中

                   for(IntWritable value:values){

                            count += value.get();

                   }

                   context.write(key, new IntWritable(count));

         }

}

 

(3)定义一个主类,用来描述job并提交job

public class WordCountRunner {

         //把业务逻辑相关的信息(哪个是mapper,哪个是reducer,要处理的数据在哪里,输出的结果放哪里。。。。。。)描述成一个job对象

         //把这个描述好的job提交给集群去运行

         public static void main(String[] args) throws Exception {

                   Configuration conf = new Configuration();

                   Job wcjob = Job.getInstance(conf);

                   //指定我这个job所在的jar包

//               wcjob.setJar("/home/hadoop/wordcount.jar");

                   wcjob.setJarByClass(WordCountRunner.class);

                  

                   wcjob.setMapperClass(WordCountMapper.class);

                   wcjob.setReducerClass(WordCountReducer.class);

                   //设置我们的业务逻辑Mapper类的输出key和value的数据类型

                   wcjob.setMapOutputKeyClass(Text.class);

                   wcjob.setMapOutputValueClass(IntWritable.class);

                   //设置我们的业务逻辑Reducer类的输出key和value的数据类型

                   wcjob.setOutputKeyClass(Text.class);

                   wcjob.setOutputValueClass(IntWritable.class);

                  

                   //指定要处理的数据所在的位置

                   FileInputFormat.setInputPaths(wcjob, "hdfs://hdp-server01:9000/wordcount/data/big.txt");

                   //指定处理完成之后的结果所保存的位置

                   FileOutputFormat.setOutputPath(wcjob, new Path("hdfs://hdp-server01:9000/wordcount/output/"));

                  

                   //向yarn集群提交这个job

                   boolean res = wcjob.waitForCompletion(true);

                   System.exit(res?0:1);

         }

 

 

 

 

5.2.2 程序打包运行

  1. 将程序打包
  2. 准备输入数据

vi  /home/hadoop/test.txt

Hello tom

Hello jim

Hello ketty

Hello world

Ketty tom

在hdfs上创建输入数据文件夹:

hadoop   fs  mkdir  -p  /wordcount/input

将words.txt上传到hdfs上

         hadoop  fs  –put  /home/hadoop/words.txt  /wordcount/input

0fcb4796a3e44a43b5a1b06e137080dc.png

 

 

  1. 将程序jar包上传到集群的任意一台服务器上

 

  1. 使用命令启动执行wordcount程序jar包

$ hadoop jar wordcount.jar cn.itcast.bigdata.mrsimple.WordCountDriver /wordcount/input /wordcount/out

f94703a3ec5b4ef0af60005b3b3a9854.png

 

  1. 查看执行结果

$ hadoop fs –cat /wordcount/out/part-r-00000

c1da409718b6487a834d0800b2971c79.png

 


HADOOP(hdfs、MAPREDUCE、yarn)  元老级大数据处理技术框架,擅长离线数据分析

Zookeeper   分布式协调服务基础组件

Hbase  分布式海量数据库,离线分析和在线业务通吃

Hive sql 数据仓库工具,使用方便,功能丰富,基于MR延迟大

Sqoop数据导入导出工具

Flume数据采集框架

一般中型的网站(10W的PV以上),每天会产生1G以上Web日志文件。大型或超大型的网站,可能每小时就会产生10G的数据量。

具体来说,比如某电子商务网站,在线团购业务。每日PV数100w,独立IP数5w。用户通常在工作日上午10:00-12:00和下午15:00-18:00访问量最大。日间主要是通过PC端浏览器访问,休息日及夜间通过移动设备访问较多。网站搜索浏量占整个网站的80%,PC用户不足1%的用户会消费,移动用户有5%会消费。

 

对于日志的这种规模的数据,用HADOOP进行日志分析,是最适合不过的了。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HADOOP介绍 的相关文章

  • 将 Spark 添加到 Oozie 共享库

    默认情况下 Oozie 共享 lib 目录提供 Hive Pig 和 Map Reduce 的库 如果我想在 Oozie 上运行 Spark 作业 最好将 Spark lib jar 添加到 Oozie 的共享库 而不是将它们复制到应用程序
  • Java8:使用 Stream / Map-Reduce / Collector 将 HashMap 转换为 HashMap

    我知道如何 改造 一个简单的JavaList from Y gt Z i e List
  • 更改 Hadoop 中的数据节点数量

    如何改变数据节点的数量 即禁用和启用某些数据节点来测试可扩展性 说得更清楚一点 我有4个数据节点 我想一一实验1 2 3 4个数据节点的性能 是否可以只更新名称节点中的从属文件 临时停用节点的正确方法 创建一个 排除文件 这列出了您想要删除
  • Python 包安装:pip 与 yum,还是两者一起安装?

    我刚刚开始管理 Hadoop 集群 我们使用 Bright Cluster Manager 直至操作系统级别 CentOS 7 1 然后使用 Ambari 以及适用于 Hadoop 的 Hortonworks HDP 2 3 我不断收到安装
  • 覆盖hadoop中的log4j.properties

    如何覆盖hadoop中的默认log4j properties 如果我设置 hadoop root logger WARN console 它不会在控制台上打印日志 而我想要的是它不应该在日志文件中打印 INFO 我在 jar 中添加了一个
  • 在 Apache Spark 上下文中,内存数据存储意味着什么?

    我读到 Apache Spark 将数据存储在内存中 然而 Apache Spark 旨在分析大量数据 又称大数据分析 在这种情况下 内存数据存储的真正含义是什么 它可以存储的数据是否受到可用 RAM 的限制 它的数据存储与使用HDFS的A
  • 在 Google Cloud Dataproc 环境中使用 Hadoop 流式处理运行 python map reduce 作业时出错

    我想使用 hadoop 流方法在 Google Cloud Dataproc 中运行 python map reduce 作业 我的map reduce python脚本 输入文件和作业结果输出位于Google Cloud Storage中
  • sqoop 通过 oozie 导出失败

    我正在尝试将数据导出到mysql from hdfs通过sqoop 我可以通过 shell 运行 sqoop 并且它工作正常 但是当我通过调用oozie 它出现以下错误并失败 我还包括了罐子 没有描述性日志 sqoop脚本 export c
  • Hive 聚集在多个列上

    据我所知 当配置单元表聚集在一列上时 它会执行该分桶列的哈希函数 然后将该行数据放入其中一个桶中 每个桶都有一个文件 即如果有 32 个桶 那么 hdfs 中就有 32 个文件 将 clustered by 放在多个列上意味着什么 例如 假
  • 伪模式下没有名称节点错误

    我是hadoop新手 正处于学习阶段 根据 Hadoop Definitve 指南 我已将 hadoop 设置为伪分布式模式 一切正常 昨天我什至能够执行第三章中的所有示例 今天 当我重新启动我的unix并尝试运行start dfs sh然
  • 将数据从 .txt 文件加载到 Hive 中以 ORC 形式存储的表

    我有一个数据文件位于 txt格式 我正在使用该文件将数据加载到 Hive 表中 当我将文件加载到类似表中时 CREATE TABLE test details txt visit id INT store id SMALLINT STORE
  • MapReduce 中的分区到底是如何工作的?

    我认为我总体上对 MapReduce 编程模型有一定的了解 但即使在阅读了原始论文和其他一些来源之后 我仍然不清楚许多细节 特别是关于中间结果的分区 我将快速总结到目前为止我对 MapReduce 的理解 我们有一个可能非常大的输入数据集
  • Mongodb 聚合数组中的子文档

    我正在使用 mongodb 作为后端实现一个小型应用程序 在此应用程序中 我有一个数据结构 其中文档将包含一个包含子文档数组的字段 我使用以下用例作为基础 http docs mongodb org manual use cases inv
  • 为什么 Spark 没有使用本地计算机上的所有核心

    当我在 Spark Shell 中或作为作业运行一些 Apache Spark 示例时 我无法在单台计算机上实现完全的核心利用率 例如 var textColumn sc textFile home someuser largefile t
  • 为什么 Spark 比 Hadoop MapReduce 更快

    有人可以使用字数统计示例解释一下为什么 Spark 比 MapReduce 更快吗 bafna的答案提供了故事的记忆方面 但我想补充另外两个重要事实 DAG和生态系统 Spark 使用 惰性求值 来形成连续计算阶段的有向无环图 DAG 通过
  • Hadoop 作业:任务在 601 秒内无法报告状态

    在伪节点上运行 hadoop 作业时 任务失败并被杀死 错误 任务尝试 在 601 秒内无法报告状态 但同一个程序正在通过 Eclipse 运行 本地作业 任务 大约有 25K 个关键字 输出将是所有可能的组合 一次两个 即大约 25K 2
  • 从机上的 DiskErrorException - Hadoop 多节点

    我正在尝试处理来自 hadoop 的 XML 文件 在对 XML 文件调用字数统计作业时出现以下错误 13 07 25 12 39 57 INFO mapred JobClient Task Id attempt 201307251234
  • 使用 Hive 计算文本变量的单词频率

    我有一个变量 每一行都是一个句子 例子 Row1 Hey how are you Rwo2 Hey Who is there 我希望输出是按单词分组的计数 Example Hey 2 How 1 are 1 我正在使用 split a bi
  • 缺少依赖项 hive-builtins 会导致 Oozie 构建失败,错误代码为 410

    我尝试从源代码构建 oozie 但安装失败 我想安装 oozie 并热切地等待使用它 我在这个阶段失败了 当我从 oozie 3 3 3 目录给出 cmd 时 bin mkdistro sh DskipTests 我收到这个错误 INFO
  • 如何配置Hive仓库路径?

    我修改了这部分

随机推荐

  • Cookie的注册登录

    先写一个要跳转的index jsp
  • 上传,下载 javaMail

    上传 1 上传对表单限制 method post enctype multipart form data 表单中需要添加文件表单项
  • cmake交叉编译个人工程模板

    cmake交叉编译个人工程模板 文章目录 cmake交叉编译个人工程模板 初衷 1 主目录模板1 2 主目录模板2 有支持子目录的功能 3 子目录模板 初衷 由于目前写的一些c c 程序需要考虑跨平台 并且我目前接触的主要是cmake 并且
  • 后端调用接口报响应头解析错误 ProtocolException: Invalid header: Server处理方式

    问题场景 在程序后端调用外部接口时 通过域名代理访问接口能正常调用返回 通过ip端口直连访问报ProtocolException Invalid header Server异常 问题原因 外部接口可能考虑安全因素 将响应头中的服务器信息给隐
  • Jmeter —— 自动录制脚本

    目录 1 Jmeter配置 1 1新增一个线程组 1 2Jmeter中添加HTTP代理 1 3配置HTTP代理服务器 2 录制脚本 2 1配置本地代理 2 2访问页面进行操作 2 3脚本处理 1 Jmeter配置 1 1新增一个线程组 1
  • TOF/结构光camera区别、TOF同时成像深度图、IR图原理?

    TOF 结构光camera区别 参考 https zhuanlan zhihu com p 51218791 TOF是通过红外光发射器发射调制后的红外光脉冲 不停地打在物体表面 经反射后被接收器接收 通过相位的变化来计算时间差 进而结合光速
  • 【Qt】串口通讯

    Qt串口通信基础及名词说明 1 串口通信 1 波特率 2 数据位 3 停止位 4 奇偶校验位 2 名词介绍简单版 1 起始位 2 数据位 3 校验位 4 停止位 5 空闲位 2 Qt串口通信模块QtSerialPort简介 1 QSeria
  • Jmeter--记录一个使用CSV Data Set Config犯的低级错误

    关于Jmeter的这个元件CSV Data Set Config网上已有大量篇幅的文章去接受 并且介绍的都挺详细 这里就不再介绍 这里主要介绍第一次使用此元件时犯的错误 当脚本完成后 点击运行 但是在察看结果树中没有发现运行结果 可以说点击
  • SpringBoot 如何保证接口安全?老鸟们都是这么玩的!

    为什么要保证接口安全 对于互联网来说 只要你系统的接口暴露在外网 就避免不了接口安全问题 如果你的接口在外网裸奔 只要让黑客知道接口的地址和参数就可以调用 那简直就是灾难 举个例子 你的网站用户注册的时候 需要填写手机号 发送手机验证码 如
  • 23年找工作的心酸历程

    前几天在脉脉上看到一个热议话题 23年找工作的心酸历程 大家都知道近几年互联网大环境不好 找工作变得越来越卷了 就算是BAT这种大厂出来的 也不见得就有多好找工作 可想而知 如果你的背景和能力不是特别强 很有可能练简历关都过不了 特别是工作
  • SpringBoot 快速整合SpringDataJPA (基础篇)

    序言 SpringDataJPA秉承大道至简的设计理念 给我们的数据层开发带来的极大的便利 诸如基于注解就可完成实体 数据库的映射关系 提供自带的通用Repo接口 接口方法约定名称即可实现数据访问等特性都是值得称赞的功能 正文 Spring
  • Flutter踩坑之 Android license status unknown 解决方案

    问题引入 Mac上搭建Flutter开发环境文章中 在使用flutter doctor查看是否需要安装其它依赖项时 检测出三个问题 Doctor found issues in 3 categories 其中有关Android平台的报错如下
  • C++ sort()函数

    C 中的sort 函数是用于对容器 如数组 向量 链表等 中的元素进行排序的标准库函数 它使用了一种称为快速排序 quicksort 的排序算法 通常具有较好的性能 sort 函数位于
  • element 表格二次封装

  • Mac office 2016 word 出现隐藏模块中出现编译错误: link

    try to remove Library Group Containers UBF8T346G9 Office User Content Startup Word linkCreation dotm or whatever in that
  • Redis单机版全面讲解

    目录 常识 什么是redis redis为什么快 redis作为实例安装在系统中 redis数据类型 redis命令 String类型相关命令 list类型相关命令 hash类型相关命令 set类型相关命令 zset类型相关命令 redis
  • LAN8720A网络模块的使用问题

    一 LAN8720A模块驱动电路 最近在调试STM32F4驱动LAN8720A网络模块 在做方案前参考是正点原子的LAN8720A的驱动电路方案 但是从网上买回来的LAN8720A模块用正点原子的例程一直驱动不起来 在windows系统下一
  • vue提示插件[vscode]

    在VSCode Marketplace 搜素Vue 出现关于语法高亮的插件有 vue vue beautify vue color VueHelper vertur等等 比较了下载数量可以了解到 vetur 是目前比较好的语法高亮插件 我们
  • Eclipse使用(Java基础)&Spring boot学习(一)

    Eclipse安装 这个很简单 搜索一下Eclipse下载即可 我是在这里下的 然后选个开发环境 C 的话我会在Visual Studio下写 所以只装了Java 一路next就好 没有什么坑 Hello World Create a Ja
  • HADOOP介绍

    1 HADOOP背景介绍 1 1 什么是HADOOP HADOOP是apache旗下的一套开源软件平台 HADOOP提供的功能 利用服务器集群 根据用户的自定义业务逻辑 对海量数据进行分布式处理 HADOOP的核心组件有 HDFS 分布式文