hive bucket
最后更新于:2022-04-01 07:28:24
hive partition
最后更新于:2022-04-01 07:28:22
#hive partition
partition是hive提供的一种机制:用户通过指定一个或多个partition key,决定数据存放方式,进而优化数据的查询
一个表可以指定多个partition key,每个partition在hive中以文件夹的形式存在。
**实例(static partition):**
~~~
编辑文件:/home/work/data/test3.txt; /home/work/data/test4.txt;
$ cat /home/work/data/test3.txt
1,zxm
2,ljz
3,cds
4,mac
5,android
6,symbian
7,wp
$ cat /home/work/data/test4.txt
8,zxm
9,ljz
10,cds
11,mac
12,android
13,symbian
14,wp
~~~
建表:
~~~
hive> create table student_tmp(id INT, name STRING)
> partitioned by(academy STRING, class STRING)
> row format delimited fields terminated by ',';
OK
Time taken: 6.505 seconds
id,name是真实列,partition列academy和class是伪列
~~~
load数据:(此处直接load数据进partition,在hive 0.6之前的版本,必须先创建好partition,数据才能导入)
~~~
hive> load data local inpath '/home/work/data/test3.txt' into table student_tmp partition(academy='computer', class='034');
Copying data from file:/home/work/data/test3.txt
Copying file: file:/home/work/data/test3.txt
Loading data to table default.student_tmp partition (academy=computer, class=034)
OK
Time taken: 0.898 seconds
hive> load data local inpath '/home/work/data/test3.txt' into table student_tmp partition(academy='physics', class='034');
Copying data from file:/home/work/data/test3.txt
Copying file: file:/home/work/data/test3.txt
Loading data to table default.student_tmp partition (academy=physics, class=034)
OK
Time taken: 0.256 seconds
~~~
查看hive文件结构:
~~~
$ hadoop fs -ls /user/hive/warehouse/student_tmp/
Found 2 items
drwxr-xr-x - work supergroup 0 2012-07-30 18:47 /user/hive/warehouse/student_tmp/academy=computer
drwxr-xr-x - work supergroup 0 2012-07-30 19:00 /user/hive/warehouse/student_tmp/academy=physics
$ hadoop fs -ls /user/hive/warehouse/student_tmp/academy=computer
Found 1 items
drwxr-xr-x - work supergroup 0 2012-07-30 18:47 /user/hive/warehouse/student_tmp/academy=computer/class=034
~~~
查询数据:
~~~
hive> select * from student_tmp where academy='physics';
OK
1 zxm physics 034
2 ljz physics 034
3 cds physics 034
4 mac physics 034
5 android physics 034
6 symbian physics 034
7 wp physics 034
Time taken: 0.139 seconds
~~~
以上是static partition的示例,static partition即由用户指定数据所在的partition,在load数据时,指定partition(academy='computer', class='034');
static partition常适用于使用处理时间作为partition key的例子。
但是,我们也常常会遇到需要向分区表中插入大量数据,并且插入前不清楚数据归宿的partition,此时,我们需要dynamic partition。
使用动态分区需要设置hive.exec.dynamic.partition参数值为true。
可以设置部分列为dynamic partition列,例如:partition(academy='computer', class);
也可以设置所有列为dynamic partition列,例如partition(academy, class);
设置所有列为dynamic partition列时,需要设置hive.exec.dynamic.partition.mode=nonstrict
需要注意的是,主分区为dynamic partition列,而副分区为static partition列是不允许的,例如partition(academy, class=‘034’);是不允许的
**示例(dynamic partition):**
~~~
建表
hive> create table student(id INT, name STRING)
> partitioned by(academy STRING, class STRING)
> row format delimited fields terminated by ',';
OK
Time taken: 0.393 seconds
~~~
设置参数
~~~
hive> set hive.exec.dynamic.partition.mode=nonstrict;
hive> set hive.exec.dynamic.partition=true;
~~~
导入数据:
~~~
hive> insert overwrite table student partition(academy, class)
> select id,name,academy,class from student_tmp
> where class='034';
Total MapReduce jobs = 2
.........
OK
Time taken: 29.616 seconds
~~~
查询数据:
~~~
hive> select * from student where academy='physics';
OK
1 zxm physics 034
2 ljz physics 034
3 cds physics 034
4 mac physics 034
5 android physics 034
6 symbian physics 034
7 wp physics 034
Time taken: 0.165 seconds
~~~
查看文件:
~~~
$ hadoop fs -ls /user/hive/warehouse/student/
Found 2 items
drwxr-xr-x - work supergroup 0 2012-07-30 19:22 /user/hive/warehouse/student/academy=computer
drwxr-xr-x - work supergroup 0 2012-07-30 19:22 /user/hive/warehouse/student/academy=physics
~~~
**总结:**
hive partition是通过将数据拆分成不同的partition放入不同的文件,从而减少查询操作时数据处理规模的手段。
例如,Hive Select查询中,如果没有建partition,则会扫描整个表内容,这样计算量巨大。如果我们在相应维度做了partition,则处理数据规模可能会大大减少。
附partition相关参数:
hive.exec.dynamic.partition(缺省false):
设置为true允许使用dynamic partition
hive.exec.dynamic.partition.mode(缺省strick):设置dynamic partition模式(nostrict允许所有partition列都为dynamic partition,strict不允许)
hive.exec.max.dynamic.partitions.pernode (缺省100):每一个mapreduce job允许创建的分区的最大数量,如果超过了这个数量就会报错
hive.exec.max.dynamic.partitions (缺省1000):一个dml语句允许创建的所有分区的最大数量
hive.exec.max.created.files (缺省100000):所有的mapreduce job允许创建的文件的最大数量
reference:
[Dynamic Partitions](https://cwiki.apache.org/Hive/dynamicpartitions.html)
[hive中简单介绍分区表(partition table),含动态分区(dynamic partition)与静态分区(static partition)](http://blog.sina.com.cn/s/blog_6ff05a2c0100tah0.html)
hive文件存储格式
最后更新于:2022-04-01 07:28:20
# hive文件存储格式
hive在建表是,可以通过‘STORED AS FILE_FORMAT’ 指定存储文件格式
例如:
~~~
> CREATE EXTERNAL TABLE MYTEST(num INT, name STRING)
> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
> STORED AS TEXTFILE
> LOCATION '/data/test';
~~~
指定文件存储格式为“TEXTFILE”。
hive文件存储格式包括以下几类:
* TEXTFILE
* SEQUENCEFILE
* RCFILE
* 自定义格式
**TEXTFIEL**
默认格式,数据不做压缩,磁盘开销大,数据解析开销大。
可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作。
实例:
~~~
> create table test1(str STRING)
> STORED AS TEXTFILE;
OK
Time taken: 0.786 seconds
#写脚本生成一个随机字符串文件,导入文件:
> LOAD DATA LOCAL INPATH '/home/work/data/test.txt' INTO TABLE test1;
Copying data from file:/home/work/data/test.txt
Copying file: file:/home/work/data/test.txt
Loading data to table default.test1
OK
Time taken: 0.243 seconds
~~~
**SEQUENCEFILE:**
SequenceFile是Hadoop API提供的一种二进制文件支持,其具有使用方便、可分割、可压缩的特点。
SequenceFile支持三种压缩选择:NONE, RECORD, BLOCK。 Record压缩率低,一般建议使用BLOCK压缩。
示例:
~~~
> create table test2(str STRING)
> STORED AS SEQUENCEFILE;
OK
Time taken: 5.526 seconds
hive> SET hive.exec.compress.output=true;
hive> SET io.seqfile.compression.type=BLOCK;
hive> INSERT OVERWRITE TABLE test2 SELECT * FROM test1;
~~~
**RCFILE**
RCFILE是一种行列存储相结合的存储方式。首先,其将数据按行分块,保证同一个record在一个块上,避免读一个记录需要读取多个block。其次,块数据列式存储,有利于数据压缩和快速的列存取。RCFILE文件示例:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-20_569f22ed61baf.jpg)
实例:
~~~
> create table test3(str STRING)
> STORED AS RCFILE;
OK
Time taken: 0.184 seconds
> INSERT OVERWRITE TABLE test3 SELECT * FROM test1;
~~~
**自定义格式**
当用户的数据文件格式不能被当前 Hive 所识别的时候,可以自定义文件格式。
用户可以通过实现inputformat和outputformat来自定义输入输出格式,参考代码:
.\hive-0.8.1\src\contrib\src\java\org\apache\hadoop\hive\contrib\fileformat\base64
实例:
建表
~~~
> create table test4(str STRING)
> stored as
> inputformat 'org.apache.hadoop.hive.contrib.fileformat.base64.Base64TextInputFormat'
> outputformat 'org.apache.hadoop.hive.contrib.fileformat.base64.Base64TextOutputFormat';
~~~
$ cat test1.txt
aGVsbG8saGl2ZQ==
aGVsbG8sd29ybGQ=
aGVsbG8saGFkb29w
test1文件为base64编码后的内容,decode后数据为:
hello,hive
hello,world
hello,hadoop
load数据并查询:
~~~
hive> LOAD DATA LOCAL INPATH '/home/work/test1.txt' INTO TABLE test4;
Copying data from file:/home/work/test1.txt
Copying file: file:/home/work/test1.txt
Loading data to table default.test4
OK
Time taken: 4.742 seconds
hive> select * from test4;
OK
hello,hive
hello,world
hello,hadoop
Time taken: 1.953 seconds
~~~
**总结:**
相比TEXTFILE和SEQUENCEFILE,RCFILE由于列式存储方式,数据加载时性能消耗较大,但是具有较好的压缩比和查询响应。数据仓库的特点是一次写入、多次读取,因此,整体来看,RCFILE相比其余两种格式具有较明显的优势。
hive数据导入
最后更新于:2022-04-01 07:28:18
# hive数据导入
可以通过多种方式将数据导入hive表
## 1.通过外部表导入
用户在hive上建external表,建表的同时指定hdfs路径,在数据拷贝到指定hdfs路径的同时,也同时完成数据插入external表。
例如:
编辑文件test.txt
~~~
$ cat test.txt
1 hello
2 world
3 test
4 case
~~~
字段之间以'\t'分割
启动hive:
`$ hive`
建external表:
~~~
hive> CREATE EXTERNAL TABLE MYTEST(num INT, name STRING)
> COMMENT 'this is a test'
> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
> STORED AS TEXTFILE
> LOCATION '/data/test';
OK
Time taken: 0.714 seconds
hive> show tables;
OK
mytest
partition_test
partition_test_input
test
Time taken: 0.07 seconds
hive> desc mytest ;
OK
num int
name string
Time taken: 0.121 seconds|
~~~
数据拷贝到hdfs:
$ hadoop fs -put test.txt /data/test
查看hive表数据:
~~~
hive> select * from mytest;
OK
1 hello
2 world
3 test
4 case
Time taken: 0.375 seconds
hive> select num from mytest;
Total MapReduce jobs = 1
Launching Job 1 out of 1
......
Total MapReduce CPU Time Spent: 510 msec
OK
1
2
3
4
Time taken: 27.157 seconds
~~~
这种方式常常用于当hdfs上有一些历史数据,而我们需要在这些数据上做一些hive的操作时使用。这种方式避免了数据拷贝开销
## 2.从本地导入
数据不在hdfs上,直接从本地导入hive表
文件/home/work/test.txt内容同上
建表:
~~~
hive> CREATE TABLE MYTEST2(num INT, name STRING)
> COMMENT 'this is a test2'
> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
> STORED AS TEXTFILE;
OK
Time taken: 0.077 seconds
~~~
导数据入表:
~~~
hive> LOAD DATA LOCAL INPATH '/home/work/test.txt' INTO TABLE MYTEST2;
Copying data from file:/home/work/test.txt
Copying file: file:/home/work/test.txt
Loading data to table default.mytest2
OK
Time taken: 0.24 seconds
~~~
查看数据:
~~~
hive> select * from MYTEST2;
OK
1 hello
2 world
3 test
4 case
Time taken: 0.11 seconds
~~~
这种方式导入的本地数据可以是一个文件,一个文件夹或者通配符,需要注意的是,如果是文件夹,文件夹内不能包含子目录,同样,通配符只能通配文件。
## 3.从hdfs导入
上述test.txt文件已经导入/data/test
则可以使用下述命令直接将数据导入hive表:
~~~
hive> CREATE TABLE MYTEST3(num INT, name STRING)
> COMMENT "this is a test3"
> ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
> STORED AS TEXTFILE;
OK
Time taken: 4.735 seconds
hive> LOAD DATA INPATH '/data/test/test.txt' INTO TABLE MYTEST3;
Loading data to table default.mytest3
OK
Time taken: 0.337 seconds
hive> select * from MYTEST3 ;
OK
1 hello
2 world
3 test
4 case
Time taken: 0.227 seconds
~~~
## 4\. 从其它表导入数据:
~~~
hive> CREATE EXTERNAL TABLE MYTEST4(num INT) ;
OK
Time taken: 0.091 seconds
hive> FROM MYTEST3 test3
> INSERT OVERWRITE TABLE MYTEST4
> select test3.num where name='world';
Total MapReduce jobs = 2
Launching Job 1 out of 2
Number of reduce tasks is set to 0 since there's no reduce operator
Starting Job = job_201207230024_0002, Tracking URL = http://localhost:50030/jobdetails.jsp?jobid=job_201207230024_0002
Kill Command = /home/work/hadoop/hadoop-1.0.3/libexec/../bin/hadoop job -Dmapred.job.tracker=localhost:9001 -kill job_201207230024_0002
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
2012-07-23 18:59:02,365 Stage-1 map = 0%, reduce = 0%
2012-07-23 18:59:08,417 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 0.62 sec
2012-07-23 18:59:09,435 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 0.62 sec
2012-07-23 18:59:10,445 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 0.62 sec
2012-07-23 18:59:11,455 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 0.62 sec
2012-07-23 18:59:12,470 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 0.62 sec
2012-07-23 18:59:13,489 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 0.62 sec
2012-07-23 18:59:14,508 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 0.62 sec
MapReduce Total cumulative CPU time: 620 msec
Ended Job = job_201207230024_0002
Ended Job = -174856900, job is filtered out (removed at runtime).
Moving data to: hdfs://localhost:9000/tmp/hive-work/hive_2012-07-23_18-58-44_166_189728317691010041/-ext-10000
Loading data to table default.mytest4
Deleted hdfs://localhost:9000/user/hive/warehouse/mytest4
Table default.mytest4 stats: [num_partitions: 0, num_files: 1, num_rows: 0, total_size: 2, raw_data_size: 0]
1 Rows loaded to mytest4
MapReduce Jobs Launched:
Job 0: Map: 1 Accumulative CPU: 0.62 sec HDFS Read: 242 HDFS Write: 2 SUCESS
Total MapReduce CPU Time Spent: 620 msec
OK
Time taken: 30.663 seconds
hive> select * from mytest4;
OK
2
Time taken: 0.103 seconds
~~~
hive指南
最后更新于:2022-04-01 07:28:15
# hive指南
hive是什么?
hive是基于hadoop构建的数据仓库基础架构,通过提供一系列的工具,使得用户能够方便的做数据ETL,数据结构化,并针对存放在hadoop上的海量数据进行查询和分析。
hive定义了一种简单的类SQL查询语言---QL,QL语言方便熟悉SQL语言的用户去查询数据。此外,hive也支持熟悉map-reduce的开发者使用map-reduce程序对数据做更加复杂的分析。
hive可以很好的结合thrift和控制分隔符,也支持用户自定义分隔符。
hive不是什么?
hive基于hadoop,hadoop是批处理系统,不能保存低延迟,因此,hive的查询也不能保证低延迟。
hive的工作模式是:提交一个任务,等到任务结束时被通知,而不是实时查询。相对应的是,类似于oracle这样的系统当运行于小数据集的时候,响应非常快,可当处理的数据集非常大的时候,可能需要数小时。需要说明的是,hive即使在很小的数据集上运行,也可能需要数分钟才能完成。
总之,低延迟不是hive追求的首要目标。hive的设计目标是:可伸缩、可扩展、容错及输入格式松耦合
**数据单元**
按照数据粒度大小,hadoop可以被组织成:
1\. databases: 避免不同表产生命名冲突的一种命名空间
2\. tables:具有相同scema的同质数据的集合
3\. partitions:一个表可以有一个或多个决定数据如何存储的partition key
4\. buckets(clusters):在同一个partition中的数据可以根据某个列的hash值分为多个bucket
partition和bucket并非必要,但是,它们能大大加快数据的查询速度
**数据类型**
简单类型:
TINYINT - 1 byte integer
SMALLINT - 2 byte integer
INT - 4 byte integer
BIGINT - 8 byte
BOOLEAN - TRUE/ FALSE
FLOAT - 单精度
DOUBLE - 双精度
STRING - 字符串集合
复杂类型:
Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域a
Maps(K-V对):访问指定域可以通过["指定域名称"]进行,例如,一个Map M包含了一个group-》gid的kv对,gid的值可以通过M['group']来获取
Arrays:array中的数据为相同类型,例如,假如array A中元素['a','b','c'],则A[1]的值为'b'
**语言能力**
hive查询语言提供基本的类sql操作,这些操作基于table和partition,包括:
1.使用where语句过滤制定行
2.使用select查找指定列
3.join两张table
4.group by
5\. 一个表的查询结果存入另一张表
6.将一个表的内容存入本地目录
7.将查询结果放在hdfs上
8.管理table和partition(creat、drop、alert)
9.在查询中嵌入map-reduce程序
hive搭建笔记(ubuntu)
最后更新于:2022-04-01 07:28:13
# hive搭建笔记(ubuntu)
在[hadoop单机环境搭建](http://blog.csdn.net/yfkiss/article/details/7715476)成功后,可以搭建hive。
在hdfs上建目录:
~~~
$ hadoop fs -mkdir /tmp
$ hadoop fs -mkdir /user/hive/warehouse
~~~
添加权限:
~~~
$ hadoop fs -chmod g+w /tmp
$ hadoop fs -chmod g+w /user/hive/warehouse
~~~
下载解压hive:
$ wget http://labs.mop.com/apache-mirror/hive/stable/hive-0.8.1.tar.gz .
$ tar -zxvf hive-0.8.1.tar.gz
设置HADOOP_HOME、HIVE_HOME,并将其添加到~/.bashrc
~~~
export HADOOP_HOME=/home/zxm/hadoop/hadoop-1.0.3
export HIVE_HOME=/home/work/hadoop/hive-0.8.1
~~~
多用户支持
(确认已安装好mysql)
启动mysql:
~~~
$ mysql -u root -p
mysql>grant all on hive.* to hive@localhost identified by '123456'
~~~
修改hive conf/hive-site.xml,如下:
~~~
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true<alue>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver<alue>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive<alue>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456<alue>
<description>password to use against metastore database</description>
</property>
~~~
下载mysql jdbc包:
wget http://downloads.mysql.com/archives/mysql-connector-java-5.0/mysql-connector-java-5.0.8.tar.gz .
解压:
`tar -zxvf mysql-connector-java-5.0.8.tar.gz `
将mysql-connector-java-5.0.8-bin.jar拷贝到hive lib目录下:
cp mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar ./lib
启动hive:
`$ cd /home/zxm/hadoop/hive-0.8.1 ; ./bin/hive`
测试:
~~~
$ ./hive
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
Logging initialized using configuration in jar:file:/home/zxm/hadoop/hive-0.8.1/lib/hive-common-0.8.1.jar!/hive-log4j.properties
Hive history file=/tmp/work/hive_job_log_work_201207051945_218572007.txt
hive> SHOW TABLES;
OK
Time taken: 7.281 seconds
hive> CREATE TABLE pokes (foo INT, bar STRING);
OK
Time taken: 0.398 seconds
hive> SHOW TABLES;
OK
pokes
Time taken: 0.181 seconds
hive> DESCRIBE pokes;
OK
foo int
bar string
Time taken: 0.58 seconds
hive>
~~~
Hadoop单机环境搭建笔记(ubuntu)
最后更新于:2022-04-01 07:28:11
# Hadoop单机环境搭建笔记(ubuntu)
**下载hadoop**
hadoop下载地址:
[http://www.apache.org/dyn/closer.cgi/hadoop/core/](http://www.apache.org/dyn/closer.cgi/hadoop/core/)
这里下载的版本是1.0.3
$ mkdir hadoop
$ wget http://www.fayea.com/apache-mirror/hadoop/core/stable/hadoop-1.0.3.tar.gz .
**安装java**
首先用“java -version”查看是否已安装,如果显示类似于java version "1.7.0_147-icedtea 则表示已安装
没有安装可以参考:[http://blog.csdn.net/yang_hui1986527/article/details/6677450](http://blog.csdn.net/yang_hui1986527/article/details/6677450)
安装必须设置JAVA_HOME和CLASSPATH
我的配置:
export PATH=${PATH}:/usr/lib/jvm/java-6-openjdk-amd64/bin
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JRE_HOME}/lib:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
并将这两行语句放在:~/.bashrc中
**安装ssh**
$ sudo apt-get install ssh
安装完成后,需要确认可以用ssh免密码登录localhost
$ ssh localhost
如果需要密码才能登录,则需要设置:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
**安装rsync**
rsync是linux实现远程同步的软件
$ sudo apt-get install rsync
**配置启动hadoop**
解压:
`$ tar -zxvf hadoop-1.0.3.tar.gz`
设置JAVA_HOME
编辑conf/hadoop-env.sh文件,找到:
`# export JAVA_HOME=/usr/lib/j2sdk1.5-sun`
修改为:
`export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64/`
修改配置文件:
如果不知道java在什么地方请用whereis java查询
修改conf/core-site.xml:
~~~
fs.default.name
hdfs://localhost:9000
~~~
修改conf/hdfs-site.xml:
~~~
dfs.replication
1
hadoop.tmp.dir
/home/work/hadoop_tmp
~~~
修改conf/mapred-site.xml:
~~~
mapred.job.tracker
localhost:9001
~~~
初始化hadoop Namenode:
`$ bin/hadoop namenode –format`
启动:
`$ bin/start-all.sh`
确认启动:
~~~
$ jps
5146 Jps
4538 TaskTracker
4312 JobTracker
4015 DataNode
4228 SecondaryNameNode
3789 NameNode
~~~
表示启动成功
**以下内容写入~/.bashrc:**
~~~
alias hadoop='/home/zxm/hadoop/hadoop-1.0.3/bin/hadoop'
alias hls='hadoop fs -ls'
alias hlsr='hadoop fs -lsr'
alias hcp='hadoop fs -cp '
alias hmv='hadoop fs -mv'
alias hget='hadoop fs -get'
alias hput='hadoop fs -put'
alias hrm='hadoop fs -rm'
alias hmkdir='hadoop fs -mkdir'
alias hcat='hadoop fs -cat'
alias hrmr='hadoop fs -rmr'
alias hstat='hadoop fs -stat'
alias htest='hadoop fs -test'
alias htext='hadoop fs -text'
alias htouchz='hadoop fs -touchz'
alias hdu='hadoop fs -du'
alias hdus='hadoop fs -dus'
alias hchmod='hadoop fs -chmod'
alias hchgrp='hadoop fs -chgrp'
alias hchown='hadoop fs -chown'
alias htail='hadoop fs -tail'<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
</span></span>
~~~
常见问题解决方案:
问题1:运行hadoop命令是出现“Warning: $HADOOP_HOME is deprecated.”报警
解决:添加 export HADOOP_HOME_WARN_SUPPRESS=TRUE 到 hadoop-env.sh 中
问题2:namenode无法启动
解决:删除/tmp/hadoop* 执行bin/hadoop namenode –format
前言
最后更新于:2022-04-01 07:28:09
> 原文出处:[Hive应用](http://blog.csdn.net/column/details/hive.html)
作者:[周晓敏](http://blog.csdn.net/yfkiss)
**本系列文章经作者授权在看云整理发布,未经作者允许,请勿转载!**
# Hive应用
> Hive的应用示例和使用心得,供正在学习或者感兴趣的朋友参考,欢迎交流