HDFS文件和HIVE表的一些操作
2016-05-19 13:43
369 查看
1. hadoop fs -ls 可以查看HDFS文件
后面不加目录参数的话,默认当前用户的目录。/user/当前用户$ hadoop fs -ls 16/05/19 10:40:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Found 3 items drwxr-xr-x - yy yy 0 2016-04-24 08:00 .Trash drwx------ - yy yy 0 2016-05-06 06:00 .staging drwxr-xr-x - yy yy 0 2016-05-06 06:00 oozie-oozi
也可以加目录,显示指定目录的HDFS文件。
$ hadoop fs -ls /user/yy 16/05/19 10:44:07 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Found 3 items drwxr-xr-x - yy yy 0 2016-04-24 08:00 /user/yy/.Trash drwx------ - yy yy 0 2016-05-06 06:00 /user/yy/.staging drwxr-xr-x - yy yy 0 2016-05-06 06:00 /user/yy/oozie-oozi
2. hadoop fs -mkdir 可以创建文件夹
$ hadoop fs -mkdir upload
hadoop fs –rmr 可以删除文件夹/文件
3. hadoop fs -put 可以上传本机的HDFS文件
hadoop fs -put pc/* upload
hadoop fs -get 可以把HDFS的文件下载到本机
hadoop fs -put upload/collect_20160518.txt /home/yy
4. hadoop fs -cat 可以读取HDFS文件
$ hadoop fs -cat upload/collect_20160515.txt|head -10
5. HDFS 和hive表
external 外部分区表:1)HDFS文件,要按分区存储,比如下面,分区为dt,对应的是2016-05-19下面的文件。
/user/yy/upload/wireless/2016-05-19
2)创建external表指向该存储(分区的上一层)
drop table if exists external_weblog_wireless; create external table external_weblog_wireless ( thedate string, time_stamp string, url_title string ) partitioned by (dt string) row format delimited fields terminated by ',' stored as textfile location '/user/yy/upload/wireless/';
3)添加新分区,指向分区目录
alter table external_weblog_wireless add partition (dt='2016-05-19') location '/user/yy/upload/wireless/2016-05-19';
4) 这种外部表分区存储,很适合增量数据。
external外部非分区表:
直接指向存储的最终location,建表即生成了数据表。
drop table if exists external_weblog_wireless; create external table external_weblog_wireless ( thedate string, time_stamp string, url_title string ) partitioned by (dt string) row format delimited fields terminated by ',' stored as textfile location '/user/yy/upload/wireless/2016-05-19';
6. hive 表导出(待补充)
注意:
hadoop fs 和hdfs dfs 作用一样。都可以在本机上查看HDFS文件。HDFS下的文件可以压缩存储,这样能够减少表查询时对Hadoop集群的IO。
压缩可以按正常的linux压缩,比如 tar -zvcf,.tar.gz
也可以按hadoop的格式压缩。
压缩后,跟普通文件一样上传即可。
3. 常用的几个查询tips
查看分区: show partitions 表名;
查看创表语句:show create table 表名;
7. 提交MAPREDUCE JOB
原则上说,Hadoop所有的MapReduce Job都是一个jar包。运行一个/home/admin/hadoop/job.jar的MapReduce Job
进入HADOOP_HOME目录。
执行sh bin/hadoop jar /home/admin/hadoop/job.jar [jobMainClass] [jobArgs]
8. 杀死某个正在运行的JOB
假设Job_Id为:job_201005310937_0053进入HADOOP_HOME目录。
执行sh bin/hadoop job -kill job_201005310937_0053
相关文章推荐
- HDFS机架感知功能原理(rack awareness)
- 在使用Spark Streaming向HDFS中保存数据时,文件内容会被覆盖掉的解决方案
- Spark读取HDFS文件
- HDFS相关概念
- HDFS 综述
- Flume-ng HDFS Sink “丢数据”
- Flume-ng HDFS sink原理解析
- [HDFS]HDFS的运行原理
- hadoop源码阅读之FileSystem简记
- Linkedin Camus,从Kafka到HDFS的数据传输管道
- Fix Corrupt Blocks on HDFS
- 【漫画解读】HDFS存储原理(转载)
- 运行于云端的Hadoop——数据即服务的论证
- 【转】【漫画解读】HDFS存储原理
- HDFS 常用命令
- HDFS数据加密空间--Encryption zone
- HDFS冗余数据块的自动删除
- RDD创建方式(集合,本地,HDFS)
- hadoop工作流引擎azkaban
- 利用HDFs上传文件的错误