MySQL的密码是:123456

1、hive创建标准表(以后均可以按照这样创建):

  create [external] table [if not exists] records

(year STRING [comment "year备注消息"],

   temperature INT [comment "temperature 备注消息"],

quality INT [comment "quality 备注消息"]

   )

  [comment "表records备注消息"]

  [partitioned by (col_name,col_name, ... )]

  [clustered by (col_name,....) into nums buckets]

  [ sorted by (col_name [ASC | DESC],...) into num_buckets BUCKETS ]

  row format delimited fields terminated by ‘\t’;

  [stored as file_format]

  [location hdfs_path]

解析:第一行声明一个records表,包括三列(3个字段):year,temperature,quality。分别指定数据类型为:string,int,int。//第一行解析与MySQL创建表一样

   第二行是HiveQL所特有,数据文件中每一行都是由制表符分隔的文本。若将文本导入由本地或者hdfs导入hive时必须按照此格式即每行三个字段,每个字段由制表符分隔,每行由换行符分隔

注意:row format delimited  分隔符设置的开始语句

     fields terminated by ‘\t’  设置字段与字段之间的分隔符,此时使用制表符分隔

     collection items terminated by "."  设置一个复杂类型(array,struct)字段中的各个item之间的分隔符,此时用点表示

     map keys terminated by "."  设置复杂类型map字段的key和value之间的分隔符,此时用电表示

     lines terminated by   设置行与行之间的分隔符

 例如:row format delimited
    fields terminated by '\t'
    collection items terminated by ','
    map keys terminated by ':'
    lines terminated by '\n';
    OK
    Time taken: 0.287 seconds
    ROW FORMAT DELIMITED 必须在其它分隔设置之前,也就是分隔符设置语句的最前
    LINES TERMINATED BY必须在其它分隔设置之后,也就是分隔符设置语句的最后,否则会报错

  PS:表名records在hdfs中其实是目录名;

2、将数据文件导入hive

  load data local inpath “/home/hdc/sample.txt”

  overwrite into table records;

解析:将本地文件sample导入records表中,其中overwrite可加可不加,如果加表示hive删除表对应目录中已有的所有文件,再将sample.txt文件送到records下;

   若不加表示hive简单的把sample.txt文件加入目录(若此目录有同名的文件则自动修改文件存储)。

3、--将HDFS中 /input/student.txt 导入到t3(此种方法是移动即student.txt文件将在t3文件夹下)

  load data inpath '/input/student.txt' overwrite into table t3;

4、将数据导入分区表:

  load data local inpath '/home/hdc/data_1.txt' into table partition_table partition(gender='M');

5、导出数据本地或者hdfs上:

  insert overwrite local directory ‘/home/hdc’  //除掉local,把路径改成hdfs上的路径就可以导入到hdfs上

  select * from student

6、通过查询语句向表中插入输入(从另外一个中的数据复制到另外一个表,两个表的字段要相同,并且其分区字段也相同即两表结构要一样)

  静态插入:

    insert into table employee  //insert overwrite table emplyee

    partition(country='US',state='OR')

    select * from staged_emplyee se

    where se.cnty='US' and se.st='OR';

  动态插入(以select语句后面的两个字段为分区字段):

    insert into table employee

    partition(country,state)

    select ....,se.cnty,se.st

    from staged_emplyee se;

  可以混合使用静态插入和动态插入(静态分区间键必须在动态分区键的前面)

    insert overwrite table emplyee

    partition(country='US',state)

    select ....,se.cnty,se.st

    from staged_emplyee se

    where se.cnty='US'

7.创建外部表及其指定数据位置

  create table stu(name string,score int)

  row format delimited fields terminated by '\t'

  location '/data'(外部表关联hdfs上的文件)

  

hive基础知识or基本操作命令的更多相关文章

  1. 《Programming Hive》读书笔记(两)Hive基础知识

    <Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...

  2. Hive基础知识梳理

    Hive简介 Hive是什么 Hive是构建在Hadoop之上的数据仓库平台. Hive是一个SQL解析引擎,将SQL转译成MapReduce程序并在Hadoop上运行. Hive是HDFS的一个文件 ...

  3. Hive基础知识

    一.产生背景 1.MapReudce编程繁琐,需要编写大量的代码 2.HDFS中存放的都是文件,在HDFS中没有Scheme的概念,无法用SQL进行快速的查询. 二.Hive的概念 Hive是基于Ha ...

  4. (cdh)hive 基础知识 名词详解及架构

    过程 启动 hive 之后出现的 CLI 是查询任务的入口,CLI 提交任务给 Driver Driver 接收到任务后调用 Compiler,Executor,Optimizer 将 SQL 语句转 ...

  5. hive基础知识五

    Hive 主流文件存储格式对比 1.存储文件的压缩比测试 1.1 测试数据 https://github.com/liufengji/Compression_Format_Data ​ M 1.2 T ...

  6. hive基础知识四

    1. hive表的数据压缩 1.1 数据的压缩说明 压缩模式评价 可使用以下三种标准对压缩方式进行评价 1.压缩比:压缩比越高,压缩后文件越小,所以压缩比越高越好 2.压缩时间:越快越好 3.已经压缩 ...

  7. hive基础知识三

    1. 基本查询 注意 SQL 语言大小写不敏感 SQL 可以写在一行或者多行 关键字不能被缩写,也不能分行 各子句一般要分行写 使用缩进提高语句的可读性 1.1 全表和特定列查询 全表查询 selec ...

  8. hive基础知识二

    1. Hive的分区表 1.1 hive的分区表的概念 在文件系统上建立文件夹,把表的数据放在不同文件夹下面,加快查询速度. 1.2 hive分区表的构建 创建一个分区字段的分区表 hive> ...

  9. hive基础知识一

    1. Hive是什么 1.1 hive的概念 Hive:由Facebook开源,用于解决海量(结构化日志)的数据统计. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表 ...

随机推荐

  1. 【转】iis解决应用程序池**提供服务的进程意外终止进程ID是**。进程退出代码是'0x80'

    转自:http://blog.sina.com.cn/s/blog_56a68d5501013xdd.html 我们公司旗下的红黑互联会遇到这种问题 事件类型: 警告事件来源: W3SVC事件种类: ...

  2. Http发送Json

    public static JSONObject post(String url,JSONObject json){ HttpClient client = new DefaultHttpClient ...

  3. P3956棋盘

    传送 这看起来有点像个搜索,那我们就用搜索试试. dfs?bfs? 其实都可以,但是窝只会dfs.. 既然这里要用dfs,那么就要把每次搜到(m,m)时,使用的金币数量进行比较,取最小值. 在搜索过程 ...

  4. 五一清北学堂培训之数据结构(Day 1&Day 2)

    Day 1 前置知识: 二进制 2.基本语法 3.时间复杂度 正片       1.枚举 洛谷P1046陶陶摘苹果  入门题没什么好说的 判断素数:从2枚举到sqrt(n),若出现n的因子,则n是合数 ...

  5. ''.startswith() and ''.endswith() instead of string slicing to check for prefixes or suffixes.

    w http://legacy.python.org/dev/peps/pep-0008/ Yes: if foo.startswith('bar'):No:  if foo[:3] == 'bar' ...

  6. JS - 迭代协议

    Iteration protocols | MDN 可迭代协议(iterable protocol) 迭代器协议(iterator protocol)

  7. linux新建用户并修改提示符

    1 新建用户 # useradd –d /home/ap/testapp -m testapp 此命令创建了一个用户testapp ,其中-d和-m选项用来为登录名testapp 产生一个主目录/ho ...

  8. python通过post提交数据的方法

    python通过post提交数据的方法 本文实例讲述了python通过post提交数据的方法.分享给大家供大家参考. 具体实现方法如下:     # -*- coding: cp936 -*- imp ...

  9. vue.js + element 搭建后台管理系统 笔记(一)

    此文仅记录本人在搭建后台系统过程中遇到的难点及注意点,如果能帮到各位自然是极好的~~~ 项目主要架构:vueJS.elementUI.scss 一.项目初始化 首先需要安装nodejs,安装方法就不在 ...

  10. js-判断当前页面是否在移动端打开显示的

    if (/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)==false) { //该页面不是在移动端打开的, }