目录

一:内部表和外部表

1:外部表

2:外部表

3:外部表和内部表区别

二:上传数据方式


一:内部表和外部表

1:外部表

内部表基础建表语句一:(默认指定文件类型为TextFile,HDFS路径为/user/hive/warehouse/库/下)

格式:

create table 表名

(

字段名1 字段类型1,

字段名2 字段类型2,

...

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY '分隔符'; // 必选指定列之间的分隔符

分隔符与真实数据不一样能读出来数据把第一行数据当成一个字段 其他为null

内部表基础建表语句二:(HDFS路径为/user/hive/warehouse/库/下)

格式:

create table 表名

(

字段名1 字段类型1,

字段名2 字段类型2,

...

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY '分隔符' // 必选指定列之间的分隔符

STORED AS file_format;

概述:

STORED AS:指定具体的从HDFS获取数据的格式,格式不匹配无法获取(默认为TextFile)

内部表基础建表语句三:(HDFS路径默认为/user/hive/warehouse/库/下)

格式:

create table 表名

(

字段名1 字段类型1,

字段名2 字段类型2,

...

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY '分隔符' // 必选指定列之间的分隔符

STORED AS file_format

location 'HDFS路径';

概述:

location:表示指定hive数据在hdfs的路径, 如果路径不存在会自动创建,存在就直接绑定(并且可以读取下面的数据),不能通过hdfs路径判断是否是hive表

两张表可以绑定同一个路径 看所在位置要从建表详情

注意:

默认情况下 删除表会把数据也删除(先有数据再有表也会将数据删除)

2:外部表

外部表external(不将数据与表进行绑定)

格式:

create external table 表名

(

字段名1 字段类型1,

字段名2 字段类型2,

...

)

ROW FORMAT DELIMITED FIELDS TERMINATED BY '分隔符' // 必选指定列之间的分隔符

STORED AS file_format

location 'HDFS路径';

注意:

删除外部表不会删除HDFS上的数据

加载数据(上传到hive表)

为什么建表选择外部表

可以避免删除表的时候将数据删除,避免数据丢失。

3:外部表和内部表区别

1,外部表的路径可以自定义,内部表的路径需要在 hive/warehouse/目录下

2,删除表后,普通表数据文件和表信息都删除。外部表仅删除表信息

二:上传数据方式

上传数据方式1:

格式:

hadoop dfs -put linux路径 hdfs路径

上传数据方式2:(直接在hive命令行操作)

格式:

dfs -put linux路径 hdfs路径

优点:比在hadoop操作hdfs快的多

上传数据方式3:(直接在hive命令行操作)

格式:

load data inpath '/HDFS路径' into table 表名(自动找到hdfs的路径)

注意:对于hive来说是加载

对于HDFS来说是移动

简单来说就是将hdfs上的数据mv到了表目录中

上传数据方式4:(直接在hive命令行操作)

格式:

load data local inpath '/HDFS路径' into 表名(自动找到hdfs的路径)

注意:从本地上传数据 不是mv相当于put

从本地复制

上传数据方式5:(直接在hive命令行操作)

格式:

create table 表名 as 查询语句

注意:只能创建内部表

注意新建表不允许是外部表。

select后面表需要是已经存在的表,建表同时会加载数据。

会启动mapreduce任务去读取源表数据写入新表

上传数据方式6:(直接在hive命令行操作)

格式:

insert [overwriter] into 表名 查询语句 追加

insert overwrite table 表名 查询语句 覆盖

注意:数据对数据,会有格式的转化

注意:

1,如果建表语句没有指定存储路径,不管是外部表还是内部表,存储路径都是会默认在hive/warehouse/xx.db/表名的目录下。

加载的数据如果在HDFS上会移动到该表的存储目录下。注意是移动,移动,移动。不是复制

2,删除外部表,文件不会删除,对应目录也不会删除

Hive建表以及导入数据相关推荐

  1. hive建表语句_Hive数据如何同步到MaxCompute之实践讲解

    摘要:本次分享主要介绍 Hive数据如何迁移到MaxCompute.MMA(MaxCompute Migration Assist)是一款MaxCompute数据迁移工具,本文将为大家介绍MMA工具的 ...

  2. Hive建表及插入数据浅析

    通过已有表创建新表(仅创建表结构) create table new_table like old_table; 通过已有表创建新表,并复制已有表数据 create table new_table a ...

  3. 大数据单机学习环境搭建(5)Hive建表DDL详解

    专题:大数据单机学习环境搭建和使用 1. Hive建表简单示例 1.1.Hive建表语句 1.2.表详细信息 1.3.数据展示 2. Hive建表语法详解 3.拓展1:复杂数据分割 4.拓展2:事务表 ...

  4. CC00053.pbpositions——|HadoopPB级数仓.V11|——PB数仓.v11|核心交易分析|DIM层建表|加载数据|

    一.DIM层建表加载数据:DIM层建表加载数据概述 ### --- 首先要确定哪些是事实表.哪些是维表.绿色的是事实表,灰色的维表~~~ 用什么方式处理维表,每日快照.拉链表? ~~~ 小表使用每日快 ...

  5. hive建表与mysql建表的区别

    现在大数据时代我们一般企业里都会将数据存储在hadoop这样的分布式系统里,我们可以编写hive-sql对数据进行分析,但是一般的业务系统是基于mysql这样的关系型数据库来进行可视化的,所以将hiv ...

  6. 【Hive】Hive建表基本语法及解释

    Hive建表基本语法 CREATE [EXTERNAL] TABLE [IF NOT EXIST] table_name [(col_name data_type [COMMENT COL_COMME ...

  7. hive建表的标准格式及其建表属性详解1

    Hive建表是学习使用hive的第一步,然后才能基于表对hive数据仓库进行操作.学习建表前,首先要知道hive表的构建属性 ,知道哪些属性是固定的,哪些属性是可以定制的等等. 一.标准hql建表语法 ...

  8. Hive建表高阶语句、Hive视图

    Hive建表高阶语句.Hive视图 Hive建表高阶语句 - CTAS and WITH 创建临时表 Hive视图(Views) 视图概述 应用场景 Hive视图操作 Hive侧视图(Lateral ...

  9. 数据库-表中导入数据-insert

    表中导入数据 在表中导入数据的方式有两种 第一种:将以上数据整理成SQL语句,insert into pet.... 第二种:通过加载文件的方式将数据导入到表中 1.创建一个pet.txt的文件(注: ...

最新文章

  1. 从根因入手,更有效率,效果也更好
  2. mysql隔离级别 简书_InnoDB 事务隔离级别(Mysql篇)
  3. Python环境下的数据库编程
  4. wxWidgets:常用对话框演示
  5. Java GUI中实现文件拷贝
  6. docker 部署nginx 使用keepalived 部署高可用
  7. [Qt入门]模态和非模态对话框创建
  8. h3c的gpu安装linux系统,h3c服务器u盘安装linux系统安装
  9. jquery 乱码 传参_jquery ajax传递中文参数乱码问题及解决方法说明
  10. Leetcode刷题记录[java]——561 Array Partition I
  11. ps文字换行_零基础一周内熟悉使用PS基础工具【Photoshop教程二】
  12. idea卡顿的解决方法_《王者荣耀》卡顿及无法下载资源解决方法说明 5周年祈愿活动出错了怎么办...
  13. 一文看懂网卡驱动原理及移植方法
  14. js动态添加元素时绑定onclick函数
  15. 文本摘要 ACL2021
  16. virtualbox中linux设置NAT和Host-Only上网(实现双机互通同时可上外网)
  17. 使用fswebcam报错Error selecting input 0 VIDIOC_S_INPUT: Device or resource busy或者使用metion监控,画面为灰色
  18. [Java]保留数值后2位的几种方法
  19. TOP 云平台虚拟机内外网互通
  20. android studio manifest merger failed,android studio 引用第三方工程Manifest merger failed

热门文章

  1. 看完这篇文章你可能就学会ofd在线转换成pdf了
  2. CesiumForUnity详解一(导入Cesium SDK安装包)
  3. 9.图片修复,去水印,美容
  4. Hadoop之Zookeeper学习(一)
  5. RISC-V的Spike模拟器
  6. 创龙TI TMS320C6678 DSP + Xilinx Kintex-7 FPGA
  7. DP1.4接口换新显示器开机无Logo、进主板BIOS黑屏解决方案
  8. Windows安装配置Git
  9. Java学习笔记 --- 进制转换
  10. 原生js实现动态加载js文件?