Hive个人心得笔记

个人Hive学习笔记 Hive Hive基本介绍 产生原因 方便对文件及数据的元数据进行管理,提供统一的元数据管理方式; 提供更加简单的方式来访问大规模的数据集,使用SQL语言进行数据分析。 介绍 Hive在使用过程中,是使用SQL语句来进行数据分析,由SQL语句到具体的任务执行还需要经过解释器、编译器、优化器和执行器四个部分才能完成。 1)解释器 ​ 调用语法解释器和语义分析器将SQL语句转换成对应的可执行的... 阅读详情

                                Hive个人心得笔记

一、Hadoop开发存在的问题

  1. 只能用java语言开发,如果是c语言或其他语言的程序员用Hadoop,存在语言门槛
  2. 需要对Hadoop底层原理,api比较了解才能做开发
  3. 开发调试比较麻烦

 二、Hive概述

  1. Hive是基于Hadoop的一个数据仓库工具。可以将结构化的数据文件映射为一张表,并提供完整的sql查询功能
  2. 底层是将sql语句转换为MapReduce任务进行运行
  3. Hive提供了一系列的工具,可以用来进行数据提取、转化、加载(ETL Extract-Transform-Load ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制
  4. 本质上是一种大数据离线分析工具

三、Hive的HQL

  1. HQL - Hive通过类SQL的语法,来进行分布式的计算
  2. HQL用起来和SQL非常的类似,Hive在执行的过程中会将HQL转换为MapReduce去执行,所以Hive其实是基于Hadoop的一种分布式计算框架,底层仍然是MapReduce

四、特点

  1. 优点:
    1. 学习成本低,只要会sql就能用hive
    2. 开发效率高,不需要编程,只需要写sql
    3. 模型简单,易于理解
    4. 针对海量数据的高性能查询和分析
    5. HiveQL 灵活的可扩展性(Extendibility)
    6. 高扩展性(Scalability)和容错性
    7. 与 Hadoop 其他产品完全兼容
  2. 缺点:
    1. 不支持行级别的增删改
    2. 不支持完整的在线事务处理
    3. 本质上仍然是MR的执行,效率不算高

五、适用场景

  1. Hive 构建在基于静态(离线)批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询因此,Hive 并不适合那些需要低延迟的应用
  2. Hive 并不提供实时的查询和基于行级的数据更新操作。Hive 的最佳使用场合是大数据集的离线批处理作业,例如,网络日志分析。

 

Hive总结.docx Hive原理/Hive SQL/Hive 函数/数据仓库分层和建模/Hive sql优化/数据倾斜 立即下载

相关推荐

hive实验报告.docx

完成Hive工具的安装和配置 Hive工具能够正常启动运行 Hive控制台命令能够正常使用 够正常操作数据库,表,数据

HIVE总结

一:hive作用 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 Hive本质:将HQL转化成MapReduce程序 (1)Hive处理的数据存储在HDFS (2)Hive分析数据底层的实现是MapReduce (3)执行程序运行在Yarn上 1.1:Hive优缺点 1>Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数; 缺点: 1)Hive的HQL表达能力有限 (1)迭代式算法无法表达 (2)数

xiaodi2016的博客 8910

hive优化总结

hive ,优化总结,本文涉及HIVE的参数设置,H—SQL关系的写法中需要注意的地方。

Hive总结

文章目录1. 概念2. Hive与Hadoop的关系3. Hive中的命令3.1 创建数据库并指定hdfs存储位置3.2 修改数据库3.3 查看数据库信息3.4 创建表并指定字段之间的分隔符4. Hive中的四种表结构4.1 内部表4.2 外部表4.3 分区表4.4 分桶表 1. 概念 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL). 其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,说白了hiv

星是河的眼的博客 4214

Mid-360与FAST-LIO2实战:从点云采集到高精度建图全流程解析

本文详细解析了使用Livox Mid-360激光雷达与FAST-LIO2算法实现高精度实时建图的全流程。内容涵盖硬件准备、软件环境搭建、算法部署配置、数据采集实战,并重点探讨了多楼层场景下的参数调优与误差抑制策略,为机器人及无人机三维感知应用提供了实用指南。

prometheus9mon的博客 415

FineBI制作数据可视化大屏-数据连接(1)

快速上手大屏可视化,FineBI数据连接配置。

Pangaoyang_的博客 1913

Hive个人心得笔记之内置函数、UDF

Hive个人心得笔记之内置函数 目录 Hive个人心得笔记之内置函数 一.内置函数 二.运算符 一、关系运算符 二、算数运算符 三、逻辑运算符 三.函数 一、数学函数 二、类型转换函数 三、日期函数 四、条件函数 五、字符串函数 六、聚合函数 四.explode 一、概...

LiuY521的博客 800

Cadence Virtuoso实战:3分钟搞定反相器参数化设计(附CDF配置避坑指南)

本文详细介绍了如何在Cadence Virtuoso中利用CDF参数传递功能实现反相器的参数化设计,包括PMOS和NMOS的基础搭建、CDF配置技巧及常见报错解决方案。通过实战案例和避坑指南,帮助工程师快速掌握高效设计方法,提升集成电路设计效率。

weixin_28292761的博客 336

Hive个人心得笔记之JDBC

Hive个人心得笔记之JDBC 目录 Hive个人心得笔记之JDBC 一.Hive的JDBC 一、概述 二、实现步骤: 1.在服务器端开启HiveServer服务: 一.Hive的JDBC 一、概述 hive实现了jdbc接口,所以可以通过java代码操作 hive的jd...

LiuY521的博客 1184

ThingsBoard入门实战(二):ThingsBoard 设备接入

文章目录ThingsBoard 设备接入一、设备配置/设备类型二、设备三、设备接入HTTPCOAPMQTT四、下一步 ThingsBoard 设备接入 设备接入并不一定需要真正的设备,我们可以通过程序。或者命令来模拟设备,向平台发送信息。 这节我们先为用户分配一个设备,然后通过模拟设备命令更新设备的状态(遥测值)。 一、设备配置/设备类型 添加一个叫"路灯"的设备配置。 设备配置听起来比较抽象,可以认为是设备类型或者是设备类型的配置。实际上,ThingsBoard 中很多时候让选择设备类型,就是选的这个。

AIGC搞起 1万+

反激电源反馈环路设计:从TL431+PC817原理到动态补偿实战

本文深入解析了反激电源中由TL431和PC817构成的经典反馈环路设计。从静态工作点计算到动态补偿实战,详细阐述了如何通过Type II补偿网络优化环路稳定性与动态响应,并分享了应对光耦CTR离散性、布局噪声等常见调试难题的实用技巧,帮助工程师设计出高性能、高可靠的开关电源。

moon9的博客 701

Hive个人心得笔记之基础指令

Hive个人心得笔记之基础指令 一.基础指令 desc 表 查看表结构 没有主键,可以重复提交 手动提交 效率过低,可以通过文件形式传输 load data local inpath '/home/software/1.txt' into table stu; 通过加载文件数据到指定的表...

LiuY521的博客 399

【智能车Code review】——拐点的寻找

CROSSROAD:十字拐点 ROUNDISLAND:环岛拐点 rightfindflag[i]:表示第i行的右线是否被找到,1为找到,0为没有找到 flag_find_huan_rightdown_point :找到环岛右下拐点标志 flag_find_huan_rightmiddle_point:找到环岛右中拐点标志 找拐点的思路:观察一段数据中数据点的走向趋势,并且保证这段数据是准确的。在摄像头畸变比较严重的情况下这种方法不再适用 关于函数的调用请见:https://blog.youkuaiyun.com/qq.

hanhan的博客 1万+

Hive个人心得笔记之表结构,数据类型,join

Hive个人心得笔记之表结构,数据类型,join 目录 Hive个人心得笔记之表结构,数据类型,join 一.连接-join 1.建表: 2.查询: 3.inner join 4.left join 5.right join 6.Full outer join 7.left semi join 1.创建...

LiuY521的博客 676

PLC的自抗扰控制(ADRC)算法

1、自抗扰控制算法,网上很多文章有所讲解,大家也可以关注韩京清教授的论文和书籍,这里就不赘述了,下面给出梯形图+SCL代码。 1、跟踪微分器 2、线性控制率 3、博图SCL控制代码 4、ADRC控制算法的所有公式汇总 ......

RXXW_Dor的博客 3853

【学习系列】SAP RAP 3:添加多层级的子节点

本文详细介绍了在SAP ABAP RAP开发中如何创建多层级业务对象。主要内容包括:1)创建明细和计划行层级的数据库表及CDS视图;2)使用association和composition关键字建立父子关联关系;3)创建各层级的投影视图并设置层级关系;4)更新行为定义,添加关联、操作权限等控制;5)更新服务定义公开新增视图;6)创建元数据扩展优化UI展示。通过这一系列步骤,实现了从抬头到明细再到计划行的完整业务对象层级结构,为后续UI功能扩展奠定了基础。

DeveloperMrMeng的博客 589

Hive个人心得笔记之安装

Hive个人心得笔记之安装 目录 Hive个人心得笔记之安装 一.Hive安装 二.Mysql安装 一.卸载删除Percona和Mysql相关依赖 二.执行命令全部卸载 三.下载安装即可 四.下载完成 五.安装客户端,服务端 六.新增mysql用户组,并创建m...

LiuY521的博客 1109

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Hive个人心得笔记之Hive优化

Hive个人心得笔记之Hive优化 一.Hive的优化 Hive的优化 小表缓存:将小表的放入内存中,减少对磁盘以及网络消耗 在做join查询的时候,如果有附带的查询条件,那么最好先用子查询将符合条件的数据查询出来之后再进行连接查询 - 目的:减少笛卡尔积的数据量 如果去重和聚合同时出现,尽量先用子查询进行去重,然后再进行聚合 1....

LiuY521的博客 499

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Hive个人心得笔记之数据库和数据仓库

Hive个人心得笔记之数据库和数据仓库 一、数据仓库和数据库对比 数据库 数据仓库 为线上系统提供实时数据 为离线分析存储历史数据 具有完整的增删改查的能力 只支持一次写入多次查询,不支持行级别的增删改 具有完整的事务能力 ...

LiuY521的博客 783

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

个人笔记之Hive

个人笔记之Hive 1.Hive的基本概念 Hive是为了让开发人员更简单地操作MapReduce而开发出来的。 关于Hive的难点不多,可以把它理解为一个翻译器,将SQL语句自动翻译成MapReduce的相应代码然后用来处理大量的数据。优点是节省了写MapReduce代码的时间和功夫,换句话说以前必须要对MapReduce有足够了解而且对业务和数据等的分析能力足够强才能熟练使用MapReduce,但是现在只要熟练使用SQL语句就可以使用MapReduce,降低了部分使用门槛。缺点也很明显,在处理小批量数据

qq_37807821的博客 287

Hive个人笔记总结

Hive是一个数据仓库软件 Hive主要使用HQL(类sql)来分析已经存储在分布式设备(HDFS)上的数据 Hive的本质是将用户编写的HQL,转换为MR/spark程序,对数据进行分析 Hive分析的数据必须是结构化的数据,在分析之前,用户需要对数据创建表结构 Hive的表结构(shema)存储在关系型数据库中,数据是存储在HDFS上,二者通过表进行映射 Hive基于OLAP设计,基于OLAP设计的软件,一般重分析,延时高!

zp的博客 1112

Hive 个人笔记

HIVE 知识体系 数据仓库:就是数据库,面向主题的,集成的,不。可更新的,随时间不变化的数据集合,他用于支持企业或组织的决策分析 针对某一需求的,数据来源分散,不随时间变化,只用于数据查询。数据仓库的建立: 数据源:———————–》 数据抽取转化 ———->> 数据仓库引擎 ——–>> 前段展示业务数据系统,文档资料,其他数据

JXCypress 768

hive启动命令以及hive介绍(个人总结)

hive启动命令 首先启动 zookeeper : bin/zkServer.sh restart 启动zookeeper以后查看是否启动成功 : bin/zkServer.sh status 在启 NameNode 和 DataNode 守护进程。sbin/start-all.sh ...

qq_35968375的博客 1万+

hive笔记

学习和使用hive过程中的一些笔记、心得 hive中变量和属性命名空间 命名空间 使用权限 描述 hivevar 可读/可写 hive v0.8.0以及之后版本,用户自定义变量 hiveconf 可读/可写 hive相关的配置属性 system 可读/可写 Java定义的配置属性 env 只可读 Shell环境(...

i徒然 1706

hive个人占比怎么求

Hive个人占比如何计算 在数据分析中,我们常常需要计算某个特定字段在整个数据集中的占比,Hive作为一个常用的数据仓库工具,能够实现这种需求。接下来,我们将探讨如何通过Hive语句来求出个人占比,并提供相应的代码示例。 一、背景知识 在许多业务场景中,了解个人或特定条件下记录的占比可以帮助我们做出更好的决策。例如,若我们...

weixin_40721913的博客 265

Hive的学习心得-个人理解什么是hive

hive约等于sql+java→可以为所欲为的插入、查询读取数据。 hql约等于sql主语法+java部分语法(array,map,stuct,字符类型、contacts等) hql约等于oracle里面的sql shell约等于oracle中的存储过程+job定时任务(同样定时执行) 自定义函数约等于用java写oralce里面的自定义函数 ...

ddbbff2005的博客 3172
上一篇: Flume个人心得笔记之Sink安装
下一篇: Hive个人心得笔记之数据库和数据仓库
萌新Java程序猿
博客等级 码龄9年 183粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值