HDFS文件和HIVE表的一些操作
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文件和HIVE表的一些操作的更多相关文章
- hive表分区相关操作
Hive 表分区 Hive表的分区就是一个目录,分区字段不和表的字段重复 创建分区表: create table tb_partition(id string, name string) PARTIT ...
- hadoop执行hdfs文件到hbase表插入操作(xjl456852原创)
本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info ...
- Hive基础之Hive表常用操作
本案例使用的数据均来源于Oracle自带的emp和dept表 创建表 语法: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name ...
- spark相关介绍-提取hive表(一)
本文环境说明 centos服务器 jupyter的scala核spylon-kernel spark-2.4.0 scala-2.11.12 hadoop-2.6.0 本文主要内容 spark读取hi ...
- 【读书笔记】C#高级编程 第二十四章 文件和注册表操作
(一)文件和注册表 对于文件系统操作,相关的类几乎都在System.IO名称空间中,而注册表操作由System.Win32名称空间中的类来处理. (二)管理文件系统 System.MarshalByR ...
- spark使用Hive表操作
spark Hive表操作 之前很长一段时间是通过hiveServer操作Hive表的,一旦hiveServer宕掉就无法进行操作. 比如说一个修改表分区的操作 一.使用HiveServer的方式 v ...
- Hive(6)-DML数据操作
一. 数据导入 1. 语法 load data [local] inpath 'path' [overwrite] into table table_name [partition (partcol1 ...
- 2.7-2.8 导入、导出数据(进/出)hive表的方式
一.导入数据进hive表 1.语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (p ...
- [Hive]使用HDFS文件夹数据创建Hive表分区
描写叙述: Hive表pms.cross_sale_path建立以日期作为分区,将hdfs文件夹/user/pms/workspace/ouyangyewei/testUsertrack/job1Ou ...
随机推荐
- 尝试HTML + JavaScript 编写Windows App
一直以来博文中使用最多的就是C# + XAML.进入Windows App时代,又多了一对 Javascript + HTML组合,这对于Web开发的程序员来说再熟悉不过了.其实小编也做过几年的Web ...
- Nodejs生态圈的TypeScript+React
基于Nodejs生态圈的TypeScript+React开发入门教程 基于Nodejs生态圈的TypeScript+React开发入门教程 概述 本教程旨在为基于Nodejs npm生态圈的前端程 ...
- HTTP协议详细总结
HTTP超文本传输协议,是WWW上应用的最多的协议.了解和掌握HTTP协议是对程序人员的基本要求. 转载请注明出处 http://www.cnblogs.com/zrtqsk/p/3746891.ht ...
- eclipse/intellij Idea集成jetty
jetty相对weblogic.jboss.tomcat而言,启动速度快,十分方便开发调试,以下是eclipse里的使用步骤: 一.eclipse->Marketplace里搜索 jetty 一 ...
- javascript 位运算
位运算博大精深,本文总结下基本的位运算的概念. 1.整数的二进制码 位操作符用于在最基本的层次上,即按内存中表示数值的位来操作数值.ECMAScript中的所有数值都以IEEE-754 64位格式存储 ...
- 通向高可扩展性之路(WhatsApp篇)---- 脸书花了190亿买来的WhatsApp的架构
原文链接:http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-bill ...
- Android视频播放之VideoView
Android视频播放之VideoView 1.VideoView类介绍 Android的VideoView组件可以从不同的来源(例如资源文件或内容提供器)读取图像,计算和维护视频的画面尺寸以使其适用 ...
- WebBrowser与IE的关系,如何设置WebBrowser工作在IE9、10、11模式下?
Web Browser Control – Specifying the IE Version http://www.west-wind.com/weblog/posts/2011/May/21/We ...
- js的原型链和constructor
转载:http://www.108js.com/article/article1/10201.html?id=1092 请先瞻仰上边的这篇文章. 对象的原型链: box.__proto__.__pro ...
- 用matlab实现同一个序列重复N倍
同一个序列 重复N倍 怎么用matlab实现 可以使用repmat函数 repmat(A, 1, 3) 其中A即为复制的矩阵,1为纵向复制的次数,3即为横向复制的次数.