环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 一.Hive 参数 1.Hive 参数类型hive当中的参数.变量,都是以命名空间开头: 通过${}方式进行引用,其中system.env下的变量必须以前缀开头: 在Hive CLI查看参数 #显示所有参数 hive>set; #查看单个参数 hive> set hive.cli.print.h…
Hive数据结构 除了基本数据类型(与java类似),hive支持三种集合类型 Hive集合类型数据 array.map.structs hive (default)> create table test( > name string, > friends array<string>, -- 创建array字段 > children map<string,int>, -- map字段 > address struct<street:string,…
<?php namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { //DB facade原始SQL语句 public function test1() { $students = DB::select('select * from student'); //var_dump($students)…
首先说一下,这里解决的问题应用场景: sparksql处理Hive表数据时,判断加载的是否是分区表,以及分区表的字段有哪些?再进一步限制查询分区表必须指定分区? 这里涉及到两种情况:select SQL查询和加载Hive表路径的方式.这里仅就"加载Hive表路径的方式"解析分区表字段,在处理时出现的一些问题及解决作出详细说明. 如果大家有类似的需求,笔者建议通过解析Spark SQL logical plan和下面说的这种方式解决方案结合,封装成一个通用的工具. 问题现象 sparks…
在实际开发中,联表查询是很常见的,yii提供联表查询的方式 关系型数据表:一对一关系,一对多关系 实例: 文章表和文章分类表 一个文章对应一个分类 一个分类可以对应多个文章 文章表:article 文章分类表:category article.cate_id关联category.id 定义对应的数据模型 <?php namespace app\models; use yii\db\ActiveRecord; /** * 文章模型 */ class Article extends ActiveRe…
select to_CHAR(SP_MT_TIME,'DD'),count(*) from table2 group by to_CHAR(SP_MT_TIME,'DD');…
一.索引 简介 Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键. Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要读取的数据块的数量. 在可以预见到分区数据非常庞大的情况下,索引常常是优于分区的. 为什么要创建索引? Hive的索引目的是提高Hive表指定列的查询速度. 没有索引时,类似'WHERE tab1.col1 = 10' 的查询,Hive会加载整张表或分区,然后处理所有的rows, 但…
hive -- 分区,分桶(创建,修改,删除) 分区: 静态创建分区: 1. 数据: john doe 10000.0 mary smith 8000.0 todd jones 7000.0 boss man 20000.0 freed finance 15000.0 stacy saber 4000.0 建表+添加一个数据 create table if not exists employees( name string, money float) row format delimited f…
分区 & 分桶 都是把数据划分成块.分区是粗粒度的划分,桶是细粒度的划分,这样做为了可以让查询发生在小范围的数据上以提高效率. 分区之后,分区列都成了文件目录,从而查询时定位到文件目录,子数据集而提高查询效率. 桶 创建: create table zyy_table (id int,name string) clustered by (id) into 4 buckets; clustered by (...) into (...)  buckets  声明分桶列和桶的个数. hive会计算记…
二.Hive分桶 1.创建分桶表 create table t_buck (id string ,name string) clustered by (id) //根据id分桶 sorted by (id) //根据id排序 buckets //分为4个桶 row format delimited fields terminated by ','; 向创建的分桶表中插入数据需要是已分桶且排序的.通常是将其他表查询的结果插入桶中才会执行分桶操作.分桶的原理和分区原理差不多,类似HashPartit…