Hive
Lestat.Z.
lestatzhang.com
展开
-
hive中匹配反斜杠\
今天在做查询时候需要匹配某个字段中的反斜杠\,测试了一下,可以使用以下方法select name from my_table where name != regexp_replace(name,'\\\\','\\\\\\\\');本来想使用like 加 %来匹配的,但是一直无效,猜测是\转义的优先级比较高所以换一个思路,将每个字段中的’\‘的数量翻倍,这样,不含’\'的字段值不变。...原创 2019-12-09 21:42:50 · 3414 阅读 · 0 评论 -
[Hive笔记]Hive编译器
Hive编译器文章目录Hive编译器编译器主要部分Hive SQL的编译过程编译器主要部分Hive的编译器主要有以下几个部分:名称简要描述解析器将查询语句转换为解析树(AST Tree)。语义分析器将解析树转换为内部查询表示(此时任然是QueryBlock)。作为此步骤的一部分,将验证列名称并执行类似*的扩展。在此阶段还会执行类型检查和任何隐式类型转换。如果对...原创 2019-02-21 21:21:56 · 1297 阅读 · 0 评论 -
[Hive笔记]Hive常用命令整理
文章目录Commonly used Hive CommandsDDL CommandsDML CommandsCommonly used Hive CommandsDDL CommandsCOMMANDOBJECTSCREATEDatabase, TableDROPDatabase, TableTRUNCATETableALTERDatabase...原创 2019-02-23 17:04:39 · 267 阅读 · 0 评论 -
[Hive笔记]Hive架构
Hive主要组件UI 用户界面用户通过用户界面(CLI或则Web UI)向系统提交查询或者其他操作Driver 驱动器接受查询的组件,提供了JDBC/ODBC接口。Compiler 编译器解析查询的组件,对不同的查询块或则查询语句进行语义解析,并配合表和分区的元数据生成执行计划。Metastore 元数据存储该组件负责存储所有表和分区的所有结构信息:列和列类型,序列化/反序列化类...原创 2019-02-18 16:22:46 · 2451 阅读 · 0 评论 -
Hive to Mongo Update性能差
文章目录问题描述解决办法问题描述项目中有一个作业是通过pig来利用hive表的数据来更新mongo表的数据,简而言之就是Hive to Mongo use MongoUpdateStorage. 这种方法的效率很低,在UAT环境里面测试时竟然卡住不动。解决办法因为mongo的更新类似于SCD1,所以可以用 “delete & insert”的方法来代替update操作。具体步骤就是...原创 2019-02-19 22:20:35 · 375 阅读 · 0 评论 -
Pig Control Structures控制结构 - 删除空文件输出
PigLatin中没有类似于if-else的控制结构。如果需要完成类似的控制结构,则需要使用embedded pig来完成。例如我们可以在Python中嵌入Pig Latin语句和Pig命令(请确保Jython jar包含在类路径中)。以下例子为判断pig作业是否出去结果,如果无输出结果,则删除hdfs的输出文件夹下的空文件:#/usr/bin/python3# explicitly imp...原创 2019-02-20 16:24:22 · 237 阅读 · 0 评论 -
[Hive笔记]Hive数据模型
Hive数据模型Hive中的数据模型主要分为:表,这些类似于关系数据库中的表。表可以过滤,投影,连接和联合。此外,表的所有数据都存储在HDFS的目录中。 Hive还支持外部表的概念,其中通过向表创建DDL提供适当的位置,可以在HDFS中的现有文件或目录上创建表。分区,每个表可以有一个或多个分区键,用于确定数据的存储方式,例如,带有日期分区列ds的表T 的数据将会被存储在<table ...原创 2019-02-20 21:27:03 · 442 阅读 · 0 评论 -
Hive Insert Overwrite是否会产生临时文件
在Hive中使用INSERT OVERWRITE时,数据会先被写入到数据文件夹的临时文件内,类似于 ==.hive-staging_hive_==开头的文件然后删除所有原文件,将临时文件重命名为”原文件“...原创 2019-03-02 23:12:26 · 5247 阅读 · 0 评论