Hive的基本应用
实验 目的 要求 | 目的:
| ||||||||||||
实 验 环 境 |
|
练习内容
任务一:Hive DDL的使用;
1、使用命令“hive”启动hive,进入Hive控制台;
2、创建内部表;
3、创建外部表;
4、创建分区表
5、使用hive DDL命令进行一些简单的操作;
任务二:Hive DML的使用;
1、创建文本并写入数据;
2、进行DML操作;
3、创建hdfs用于存放文件的位置,并查看是否创建成功;
4、上传数据文件至hdfs;
5、查看上传的文件内容;
6、对上传的数据文件进行基本操作;
7、将查询结果插入hive表中;
8、导出hive的表数据;
9、查看导出的数据;
任务三:Hive内置函数的基本操作;
1、获取所有函数;
2、查看指定函数的使用方法;
3、进行表操作;
4、查看concat的使用方法;
5、连接ename,job字段;
任务四:Hive UDF开发;
1、创建maven工程项目Hive;
1.1、创建项目;
1.2、修改pom.xml文件,添加指定依赖;
2、Hive UDF开发;
2.1、编写HelloUDF.Java文件;
2.2、导出项目为jar包;
2.3、上传jar包至集群中;
3、编辑jar包上传至服务器,并将自定义函数UDF添加到Hive中;
4、查看自定义函数中是否有以上传的;
5、使用自定义函数进行查询操作;
任务五:调优策略;
1、并行执行及JVM重用;
2、推测执行,合并小文件;
出现的问题与解决方案
排错一:
错误:装载hdfs至hive失败
排错思路:
- 查看指定目录是否正确;
- 查看指定文件是否正确;
- 查看命令应用是否正确;
原因分析:之前在上传数据文件至hdfs时,系统默认删除了源文件
解决方案:重新编写数据文件再次上传;
排错二:
错误:运行自定义函数失败;
排错思路:
- 检查jar包是否合适;
- 检查环境是否合适;
- 检自定义函数是否正确
原因分析:开发环境开发自定义函数时在jdk1.8环境,而Hadoop集群环境中使用的是jdk1.7环境,jar包jdk版本过高;
解决方案:更改maven项开发环境为jdk1.7版本,重新打包项目为jar包上传至hdfs中使用;
知识拓展
1. Hive介绍
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后在Hadoop执行。
2. Hive架构
用户接口,包括 CLI,JDBC/ODBC,WebUI
元数据存储,通常是存储在关系数据库如 mysql, derby 中
解释器、编译器、优化器、执行器
Hadoop:用 HDFS 进行存储,利用 MapReduce 进行计算
Ps:hive的元数据并不存放在hdfs上,而是存储在数据库中(metastore),目前只支持 mysql、derby。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
元数据就是描述数据的数据,而Hive的数据存储在Hadoop HDFS
数据还是原来的文本数据,但是现在有了个目录规划。
3. Hive与Hadoop的关系
Hive利用HDFS存储数据,利用MapReduce查询数据。
4. Hive安装部署
Hive只是一个工具,不需要集群配置。
export HIVE_HOME=/usr/local/hive-2.0.1
export PATH=PATH:
HIVE_HOME/bin
配置MySql,如果不进行配置,默认使用derby数据库,但是不好用,在哪个地方执行./hive命令,哪儿就会创建一个metastore_db
MySQL安装到其中某一个节点上即可。
5. Hive的thrift服务
可以安装在某一个节点,并发布成标准服务,在其他节点使用beeline方法。
启动方式,(假如是在master上):
启动为前台服务:bin/hiveserver2
启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &
连接方法:
hive/bin/beeline 回车,进入beeline的命令界面
输入命令连接hiveserver2
beeline> !connect jdbc:hive2://master:10000
beeline> !connect jdbc:hive2://localhost:10000
(master是hiveserver2所启动的那台主机名,端口默认是10000)
相关文章:

template
//引入包<script type"text/javascript" src../template.js></script> //定义一个有ID的script标签:<script idtem type"text/html"> <h4>{{name}}</h4> <ul> {{each films as value}} <li> <str…
UICollectionView的基本使用(1)
如果是简单实用UICollectionView的话,用法和UITableView基本一致。下面是用UICollectionView实现的简单图片显示 (1)打开storyboard,将一个UICollectionView拖到View Controller Scene中,默认的UICollectionView已经包…

SQL Server的数据库连接的极限在哪儿?
在软件设计中,关于多层的设计,有一部份是有关数据库的。 设计上分成这样三层 客户端UI -- 应用服务器 -- 数据库服务器 有个说法是,可以在应用服务器这一层共享使用数据库连接池,从而减轻数据库服务器的负担。 我查了好多资料&…

Docker的使用(五:Docker中的网络与数据管理)
实验环境 三台运行有Ubuntu 16.04 操作系统的虚拟机,并每台主机中已安装docker环境; 学习目标 docker的网络管理docker Swarm集群的使用Volume数据卷的使用 实验内容 任务一:Docker网络管理 1、Docker默认网络管理 docker安装时自动创建…

Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解
在Junit4中还有的测试注解有: BeforeClass ,Before,Test,After,AfterClass 1、其中:BeforeClass,AfterClass是Junit4中新添加进去的 2、如果Run as --->Junit Test,运行含有Test…

iOS开发流程总结
本文由社区会员umyueyue分享 以下是会员umyueue总结的iOS开发流程以及学习中的资料分享。 流程:注册、开发、真机测试、发布以及上线。 iPhone iOS 4从注册到app上线开发流程 http://blog.csdn.net/linzhiji/article/details/6732868 一、关于注册账号IDP和Apple ID…
(2)iOS用UICollectionView实现Gallery效果
本文主要实现: (1)用UICollectionView显示一组图片 (2)左右滑动来浏览所有图片 (3)图片自动对齐到网格(即滑动停止后中间的图片对齐到正中位置) (4&#…

Docker的使用(docker pull拉取镜像失败问题解决)
在docker拉取Nginx镜像过程中,速度慢,或者不成功 报错代码: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting hea…

java,js,jstl,EL的简单交互
EL全名Expression Language.EL提供了在JSP脚本编制元素范围外使用运行时表达式的功能。 脚本编制元素是指页面中能够用于在JSP文件中嵌入java代码的元素。 JSP标准标记库(jsp staandard tag library,jstl)是一个实现web应用程序常用功能的定制…
iOS UICollectionView实现瀑布流(3)
前面两篇Blog简单的介绍了UICollection的基本使用并实现了类似Android的Gallery效果,这篇文章使用UICollection来实现瀑布流效果,代码主要是在极客学院Carol老师的视频,并在提供的demo下直接修改代码,进行屏幕适配,最终…

LevelDb系列之简介
说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google公司重量级的工程师,为数甚少的Google Fellow之二。 Jeff De…

Spark集群启动时worker节点启不起来
在spark集群中使用命令: sbin/start-all.sh 启动集群时报错: starting org.apache.spark.deploy.master.Master, logging to /home/yxk/cluster/spark/logs/spark-yxk-org.apache.spark.deploy.master.Master-1-linux.out yxklinuxs password: linux:…

XML xmlns
xmlns xml namespaces 参考 http://www.w3school.com.cn/tags/tag_prop_xmlns.asp http://www.w3school.com.cn/xml/xml_namespaces.asp <table><tr>这是一行</tr> </table><table><material>黄花梨</material> </table> 放到…

StarlingMVC简介,原理解说及示例源码
StarlingMVC简介 StarlingMVC是一个为使用Starling来开发游戏的MVC框架。这个框架的特性方面,很像Swiz和RobotLegs,原理亦像Mate。其特性列表如下: 依赖注入(DI)/控制反转(IOC)视图代理(View Mediation)事件捕获(Event Handling)非侵入性框架…
iOS调用系统相机文字改为中文
只要把这里改成China:

微服务项目的整合与测试
实验目的 掌握微服务项目的整合使用 掌握Swagger-UI的简单使用 练习内容 1、微服务项目整合 1.1、项目预览 1.1.1、在 https://github.com/shi469391tou/microservice-mallmanagement.git 地址下载,并导入Myeclipse中; 1.1.2、查看项目的结构 1.2、…

mysql单表多timestamp的current_timestamp设置问题
一个表中出现多个timestamp并设置其中一个为current_timestamp的时候经常会遇到 1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause 原因是当你给一个timestamp设置为on update current_time…

iOS 关于Blocks
*本文参考了《Objective-C高级编程 iOS与OSX多线程和内存管理》一书,关于Block的介绍摘取自此书。 Objective-c 语言中Block语法格式为: 返回值类型 参数列表 表达式 c语言中的函数语法格式为 返回值类型 函数方法名 参数列表 表达式 从上面的…

一步步写STM32 OS【二】环境搭建
一、安装IAR for ARM6.5 二、新建工程 1、选择处理器:STM32F407VG,暂不使用FPU2、必要的路径配置和宏定义3、使用SWO重定向IO输出4、使用ST-LINK仿真器5、下载配置6、设置CPU频率,防止SWO输出乱码三、代码调试 四、工程下载 stepbystep_stm32…

微服务项目的部署
练习目标 掌握Docker Compose编排工具的使用掌握微服务项目与Docker的整合方式掌握微服务项目的部署方式 项目整合参考:https://blog.csdn.net/qq_37823605/article/details/91379272 练习内容 1、Docker Compose编排工具 1.1、Docker Compose的安装与卸载 1.1…

CSS 布局:40个教程、技巧、例子和最佳实践
前言: 布局是WEB开发一个重要的课题,进入XHTML/CSS后,使用TABLE布局的方式逐渐淡出,CSS布局以众多优点成为主流,本文将介绍40个基于CSS的web布局的资源和教程。文章的出处在http://www.noupe.com/css/css-layouts-40-t…
【仿去哪儿登录】UITextField输入时检查输入框是否为空
APP登录时,一般是是等用户输入完账号和密码后才去检查是否为空,而去哪儿登录时,在账号和密码的输入过程中,只要当账号和密码其一为空时,登录按钮立即变成不可用(图1),只有账号和密码…

sql排名语句
查询全部 select dwmc,pjdf,row_number() over(order by pjdf desc) as paiming from Sab_hhb_zhb inner join jgdx on jgdx.midSab_hhb_zhb.mid查询单个select paiming from (select mid,pjdf,row_number() over(order by pjdf desc) as paiming from Sab_hhb_zhb ) Sab_hhb_z…

Sqoop的基础应用
实验目的要求 了解ET了工具Sqoop;学会安装配置Sqoop;学会使用数据迁移框架Sqoop;使用Sqoop导入MySQL到HDFS和Hive;使用Sqoop导出HDFS数据到MySQL; 实验环境 Java jdk 1.7;apache-maven-3.6.0;…

hadoop程序MapReduce之SingletonTableJoin
需求:单表关联问题。从文件中孩子和父母的关系挖掘出孙子和爷奶关系 样板:child-parent.txt xiaoming daxiong daxiong alice daxiong jack 输出:xiaoming alice xiaoming jack 分析设计: mapper部分设计: 1、<k1,…
Android网络框架Volley的快速使用
一.基本使用 之前做Android开发都是使用学长自己封装好的网络请求框架,第三方网络框架也很多,网上搜索了一下,大多数人推荐使用 android-async-httpokhttpVolley 其中Volley是Google推出了官方的针对Android平台上的网络通信库,能…

浏览器版本过低
http://study.163.com/common/errors/notSupported.htm <div class"wb f-cb"> <a href"http://www.google.cn/intl/zh-CN/chrome/browser/" class"g f-hide" target"_blank">谷歌浏览器</a> <a href"http:/…

Spark的基础应用
目的要求 搭建Spark集群环境;Spark集群的启动、浏览与关闭;使用Eclipse编写Spark应用程序包;如何运行Spark任务; 实验环境 Java jdk 1.7;apache-maven-3.6.0;Eclipse;Apache_Hadoop集群&#…

HDU-2084 数塔 经典dp,水
1、HDU-2084 数塔 2、链接:http://acm.hdu.edu.cn/showproblem.php?pid2084 3、总结:从下往上推,最后归于顶点。方程为 dp[i][j] max(dp[i1][j],dp[i1][j1])a[i][j] #include<iostream> #include<cstring> #include<…
[16] 螺旋面(Spire)图形的生成算法
顶点数据的生成 1 bool YfBuildSpireVertices2 (3 Yreal radius, 4 Yreal assistRadius, 5 Yreal height, 6 Yuint slices,7 Yuint s…