hive设置字段默认值时间戳
转载
1.Hive基本信息
- 1.官网:http:// hive.apache.org
- 2. Facebook(开源) : 去解决海量
- 3. 构建在hadoop之上的数据仓库
- hdfs :hive的数据是存储在hdfs之上的
- yarn :hive的作业可以跑在yarn之上的
- mapreduce :hive的作业可以用MR的方式去运行
- 1. 定义了一种类sql的语言 : 类似sql又不完全相同
- 2. 适用于离线/批处理
- 3. 开发就是sql => mr作业 =>yarn上去运行
- Hive底层引擎
- MR : SQL => MR (默认)
- Tez : SQL => Tez
- Spark : SQL => Spark
spqrkaql 去处理hive里面的数据
hive on spark => hive的引擎是spark (生产上不多用)
spark on hive => sparksql 查询 hive 里面的表
- 1. sql功能角度 :udf
- 2. 数据存储 和 计算角度:hadoop进行拓展
- 3. Metastore 【Hive的元数据管理】
- sparksql presto impala 只要能够访问hive Metastore 就可以访问Hive表中的数据【可以共享Metastore】
2.Hive的架构
- 1.共同点 : sql
- 2. 延时性 : hive适用于离线计算 慢
- 3. 事物 : 都支持
- 4. 不用updata delete (hive里面有 但不用)
- 5. 分布式 都支持
- 6. 成本 :廉价
- 数据体量 :量很大
3.Hive部署
4.入门
- 1.mysql> select * from VERSION;
- 2.创建一张表
- 创建表:create table test(name string);
- 插入数据:insert into test values ('罗子岱');
- TBLS 存的是Hive里面表的信息
- DBS 存的是Hive 数据库相关的信息
- COLUMNS_V2 存的是Hive table里面的字段信息
- DATABASE_PARAMS 存的是Hive 数据库相关的信息
- hdfs://bigdata13:9000/user/hive/warehouse
- 一个hive表 会被拆分成N个表在mysql里面进行存储
- hive 运行的日志在 /tmp/hadoop/hive.log 中
路径:/home/hadoop/app/hive
[hadoop@bigdata13 hive]$ mkdir logs
路径:/home/hadoop/app/hive/conf
[hadoop@bigdata13 conf]$ cp hive-log4j2.properties.template hive-log4j2.properties
[hadoop@bigdata13 conf]$ vim hive-log4j2.properties
修改路径
property.hive.log.dir = /home/hadoop/app/hive/logs/
- 1.Command Line Interface 【命令行显示相关参数】
- hive.cli.print.header
- hive.cli.print.current.db
显示数据库名 - hive.metastore.warehouse.dir 【了解 default数据库默认存储位置】
- 2.如何查看参数默认值?
set key; 查看参数默认值
set key=value; 设置参数的值 - 3.参数配置优先级:
- 1.session 设置参数 【仅仅是当前session有效】
- 2.hive-site.xml 【全局生效的】
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
- 3.hive --hiveconf hive.cli.print.current.db=false; => 【当前session有效】
- hive -help :
-e sql 语句
-f sql文件
//无需进入hive内就可以查询表格
[hadoop@bigdata13 ~]$ hive -e "select * from test"
//编辑脚本查询表
[hadoop@bigdata13 ~]$ vim test1.sql
select * from test;
[hadoop@bigdata13 ~]$ hive -f ./test1.sql
- 调度平台:crontab 、azkanban、xxl
- DDL:Data Definition Language
- Database:
hive 默认有一个数据库 default 路径:/user/hive/warehouse
- CREATE [REMOTE] (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[MANAGEDLOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, ...)];
//创建数据库
hive (default)> create database bigdata_hive;
- 创建到其他路径
create database bigdata_hive2 LOCATION '/data/bigdata_hive2'; - 创建表 加参数
create database bigdata_hive3 WITH DBPROPERTIES ('creator'='doublehappy', 'create_dt'="2099-11-29");
- show databases;
- show databases like "bigdata_hive*"
- desc database bigdata_hive3;
- desc database EXTENDED bigdata_hive3;
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。