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. android开发里跳过的坑——GridView使用Glide加载图片不显示

    用grideview显示本地图片列表,用了Glide加载框架,具体调用如下: Glide.with(mContext).load(Uri.fromFile(file)).into(imageView) ...

  2. 导航栏图标切换:click事件,hover事件

    最近再做一个基于angular6的项目,导航栏需求:1.hover切换图标 2.click切换图标 先用jquery实现功能,在在angular组件里面实现. demo如下: <!DOCTYPE ...

  3. python脚本-上传apk至蒲公英

    import requests import os #账号配置信息 url = "https://upload.pgyer.com/apiv1/app/upload" uKey = ...

  4. mysql_DML_索引、视图

    创建索引的语法格式:– 创建普通索引:• create index 索引名称 on 表名(列)• alter table 表名 add index 索引名称 (列)– 创建唯一索引:• create ...

  5. java sftp判断目录是否存在

    java sftp判断目录是否存在 public boolean isExistDir(String path,ChannelSftp sftp){ boolean isExist=false; tr ...

  6. jenkins之启动与关闭

    jenkins可以通过内置的应用服务器或者借助其他应用服务器启动 目录 1.启动jenkins 2.关闭jenkins 3.重启jenkins 4.重新加载jenkins配置信息 1.启动jenkin ...

  7. Python——GUI可视化

    import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class ...

  8. Vi 常用命令列表

    基本上vi可以分为三种状态,分别是命令模式(command mode).输入模式(Insert mode)和末行模式(last line mode),各模式的功能区分如下: 1) 命令模式(comma ...

  9. 从零开始创建 symfony-cmf

    前提: 官方 https://symfony.com/doc/master/cmf/quick_tour/the_big_picture.html#setting-up-the-database 由于 ...

  10. Vue事件总线

    一 项目结构 二 main.js import Vue from "vue"; import App from "./App.vue"; import Tool ...