首页
学习
活动
专区
工具
TVP
发布

A2Data

专栏作者
373
文章
385892
阅读量
30
订阅数
Hive表操作二(管理表、外部表、分区表)
Hive表操作二(管理表、外部表、分区表) *管理表 --我们目前所创建的表都是管理表,也叫内部表 --Hive会控制管理表数据的生命周期,Hive默认会将表数据存储在/user/hive/warehouse子目录下 --删除一个管理表时,Hive也会删除这个表中数据 --管理表不方便和其他工具共享数据 eg:我们有一份由Pig或其他工具创建并且主要由这一工具使用的数据,同时我们还想使用Hive执行查询,可以创建一个外部表指向这份数据,并不需要对其具有所有权 *外部表 --文件位于分布式文件系统的/data/test eg:CREATE EXTERNAL TABLE IF NOT EXISTS app ( hour string, name string, pv string, uv string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/data/test'; 对以上语句分析: 1.关键字EXTERNAL告诉Hive这个表是外部表,LOCATION告诉Hive数据位于哪个路径下 2.因为是外部表,所以Hive并非认为其完全拥有这份数据,删除该表时并不会删除这份数据,只会删除描述表的元数据信息 *管理表VS外部表 --可以用 DESCRIBE EXTENDED tablename语句的输出中查看到表是否是管理表或外部表 --对于管理表,可看到如下信息 ... tableType:MANAGED_TABLE) --对于外部表,可看到如下信息 ... tableType:EXTERNAL_TABLE) 注:如果语句省略 EXTERNAL 关键字而源表是外部表的话,那么生成的新表也是外部表 如果语句省略 EXTERNAL 关键字而源表是管理表的话,那么生成的新表也是管理表 如果语句有EXTERNAL关键字而源表是管理表的话,那么生成的新表是外部表 *分区管理表 --管理表和外部表都可以加分区 eg:CREATE TABLE IF NOT EXISTS tmp.table1( userId string COMMENT '用户ID', name string COMMENT '用户姓名', createtime string COMMENT '创建时间' ) PARTITIONED BY (country string,state string ); --分区表改变了Hive对数据存储的组织方式。如果我们在tmp库下创建这个表,那么对于这个表只会有一个table1目录与之对应: /user/hive/warehouse/tmp/table1 但是,Hive在表目录下将会建好可以反映分区结构的子目录 eg:/table1/country=CA/state=AB /table1/country=CA/state=BC ... /table1/country=US/state=AL /table1/country=US/state=AK ... 这些都是实际的目录名称,州目录下将会包含有零个文件或者多个文件,这些文件中存放着那些州的用户信息 分区字段一旦创建好,表现得就和普通字段一样,除非优化查询性能,否则不需要关心是否是分区字段 如果要查某个国家的用户,那仅仅需要扫描那个国家对应的目录就可以 --查看表中存在的所有分区 eg: hive> SHOW PARTITIONS table
DataScience
2020-04-14
8800
Hive_基础操作
世间也需要没用的东西,如果一切事物都必须有其意义,会让人喘不过气来。by 是枝裕和
DataScience
2020-04-13
2990
Apache Hive Hue
⊙Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。
DataScience
2020-01-02
2.2K0
Apache Hive File
其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;
DataScience
2020-01-02
3770
Amabri hive权限设置
当我们安装好Amabri ,启动hive、Hadoop等组件时我们在操作HDFS时可能会遇到这样的问题 [root@Master ~]# hive log4j:WARN No such property [maxFileSize] in org.apache.log4j.DailyRollingFileAppender. Logging initialized using configuration in file:/etc/hive/2.6.3.0-235/0/hive-log4j.propert
DataScience
2020-01-02
2K0
Apache Hive View
从逻辑上讲,可以想象为Hive限制性这个视图,然后使用这个结果进行余下后续的查询。
DataScience
2019-12-30
5180
Apache Hive Index
Apache Hive INDEX (索引) Apache Hive INDEX 创建索引 ◆ ◆ ◆ ◆ ◆ CREATE INDEX index_name ON TABLE base_table_name (col_name, ...) AS 'index.handler.class.name' [WITH DEFERRED REBUILD] [IDXPROPERTIES (property_name=property_value, ...)] [IN T
DataScience
2019-12-30
6870
Hive中苦笑不得的坑
大家都知道,hive -f 后面指定的是一个文件,然后文件里面直接写sql,就可以运行hive的sql,hive -e 后面是直接用双引号拼接hivesql,然后就可以执行命令。
DataScience
2019-12-30
1.5K0
Apache Hive Like
Apache Hive Like ---Rlike---- Not Like ----- Like Not
DataScience
2019-12-30
1.6K0
Apache Hive Random
1,表a2data.test为一个普通的表,别名为e,里面存有数据,我们要从表e中随机抽出1000条数据作为数据样本。
DataScience
2019-12-30
2.1K0
Apache Hive FROM_UNIXTIME
⊙时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
DataScience
2019-12-30
8690
Apache Hive Regexp
Apache Hive Regexp (正则表达式) Apache Hive Regexp 正则案例 ⊙hive 通过regexp_extract(), 取域名中.com/.cn前的字符串? 例: 5
DataScience
2019-12-30
2.8K0
Apache Hive With
一般情况,with 查询用到多次情况下,在引用select语句之前定义,同级只能定义with关键字只能使用一次,多个用逗号分割。
DataScience
2019-12-30
4430
Apache Hive SQRT
有心无力码字的我,一致遵循着,没有什么事情是一个SQL 解决不了的问题,那就两个。
DataScience
2019-12-30
7080
Apache Hive Length
Apache Hive Length (字符串) Apache Hive Length 字符串操作 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length(‘abcedfg’) from a2data.test; 7 字符串反转函数:reverse 语法: reverse(string A) 返回值: string 说明:返回字符串A的反转结果 举例:
DataScience
2019-12-30
2.1K0
Apache Hive Cube
Apache Hive GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
DataScience
2019-12-30
9050
Apache Hive MSCK
翻译成中文的大概意思就是:Hive将每个表的分区信息保存在metastore中,如果通过hadoop fs -put命令直接将分区信息添加到HDFS,metastore是不会感知到这些新增的分区,除非执行了ALTER TABLE table_name ADD PARTITION命令。但是用户可以运行metastore检查命令MSCK REPAIR TABLE table_name;该命令将关于分区的元信息添加到Hive metastore中,这是对于那些没有元信息的分区来说的。换句话说,就是将任何存在于HDFS上但不在metastore上的分区添加到metastore。
DataScience
2019-12-30
8970
Apache Hive DlLPAR
我们可以使用DISTRIBUTE BY rand()将数据随机分配给Reduce,
DataScience
2019-12-30
5440
Apache Hive Table
这两种文件格式Hive都支持,但是有个缺点就是:用户要对文本文件中那些不需要作为分隔符处理的逗号或者制表符格外小心。
DataScience
2019-12-30
6640
Apache Hive Select
比如:INT 和 BIGINT,INT 转化为 BIGINT。INT 和 FLOAT,INT转化为 FLOA
DataScience
2019-12-30
3380
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战,赢鹅厂证书、公仔好礼!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档