hive创建表
来源:互联网 发布:淘宝拍照用什么手机 编辑:程序博客网 时间:2024/06/10 12:53
hive默认的记录和字段分隔符
分隔符描述\n对于文本文件来说,每一行都是一条记录,换行符可以分割记录^A用于分割字段。^B用户分割Array 和 Struct 中的元素。或Map键值对。^CMap中键和值的分割。建表时可以不采用这些默认分隔符,指定使用其他分隔符。当有其他程序使用不同的规则写数据时,这是非常必要的。
CREATE TABLE employees(
name STRING,
salary FLOAT,
subordinates ARRAY<STRING>,
deductions MAP<STRING,FLOAT>,
address STRUCT<street:STRING, city:STRING, state:STRING, zip :INT>
)
ROW FORMAT DELIMITED -------(这是一组关键字,必须要写写在其他设置分隔符(含字段分隔符,map、struct 分隔符前面)
[COLLECTION ITEMS TERMINATED BY '\002' ] ---------(这是array 等的分隔符,一般需用修改。)
FIELDS TERMINATED BY '\t';
以上是修改默认字段分隔符,指定为\t的语句,一般也就需要修改这里而已。
下面定义一个按照逗号进行分隔的表。
CREATE TABLE some_table(
first STRING,
second FLOAT,
third DOUBLE
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',' ;
Hive 的读时模式
当用户想传统数据库写入数据时候,不管是采用装载外部数据的方式,还是采用将一个查询的输出结构写入的方式,或者是使用UPDATE 语句时,数据库对于存储
都具有完全的控制力。传统数据库是写实模式,即数据在写入数据库时对模式进行检查。
Hive 对底层存储并没有这样的控制。对于Hive要查询的数据,有很多种方式对其进行创建,修改,设置损坏。因此Hive 不会在数据记载时进行验证,而是在查询时进行,也就是读时模式。
如果模式和文件内容不匹配的话,如果每行记录中的字段个数少于对应的欧式中定义的字段个数的话,建辉看到查询结果中有很多的null值。如果某些字段是数值型的,但是hive在读取时发现存在非数值型的字符串值的时候,哪些字段将会返回null。除此之外hive,都激励尝试尽可能将各种错误恢复过来。
创建数据库和表可以指定路径。对于不想使用默认的表路径,那么最好是使用外部表。
- hive创建表
- Hive创建表
- hive创建表详解
- hive表的创建
- 01-Hive创建表
- hive 创建表详解
- Hive创建外部表
- hive 创建表
- Hive创建表
- Hive创建表
- hive创建表
- Hive创建dual表
- Hive创建表和分区
- Hive创建TABLE_PARAMS表失败
- Hive创建TABLE_PARAMS表失败
- hive 创建/删除/截断表
- hive查看表创建过程
- Excel文件创建HIVE表
- scanner 中的next() 和nextline()区别
- 墨刀初试
- 初识分布式系统
- Java过滤器与SpringMVC拦截器之间的关系与区别
- SQL (like) 使用
- hive创建表
- 电路实验
- python之列表用法
- 关于分布式一致性的探究
- 领域模型和设计类图的区别
- Java练习--窗口事件(10)
- CS231n(3):课程作业# 2简介
- 软导作业
- 分布式系统的CAP理论