您的位置:首页 > 其它

Mapr与Hive工作(四)——使用HCatalog和WebHCat与Hive

2014-01-02 09:43 267 查看
HCatalog库

从蜂房访问HCatalog表
使用与猪
使用与MapReduce的应用
使用与非MapReduce应用

WebHCat服务器

配置WebHCat服务器
启动WebHCat服务器
在WebHCat服务器上运行的作业

REST调用在WebHCat
启动与WebHCat一个MapReduce作业
启动与WebHCat一个Streaming
MapReduce作业
启动与WebHCat猪就业
启动与WebHCat一个蜂房的工作
作业队列


HCatalog库

HCatalog库提供应用程序与集群中的MAPR-FS层的表视图,扩展您的应用程序的选项从读/写数据流添加表的操作,如获取行和存储行。该HCatalog库存储要求其在蜂房Metastore操作的元数据。



上面的图像示HCatalog作为各种数据格式和数据处理工具之间的数据管理层。< http://hive.apache.org/docs/hcat_r0.5.0/index.html >


hcat
实用程序可以执行在蜂房不涉及推出了MapReduce作业的任何数据定义语言(DDL)的命令可用。
在内部,
hcat
实用工具通过DDL命令到
蜂巢
程序。存储在文件系统中MAPR数据进行序列化和反序列化,通过
InputStorageFormats
OutputStorageFormats
对象的记录。记录中的字段进行解析与
SerDes的

图标

蜂房JSON-SERDE-0.2.jar
JSON序列化/解串器还没有实现的
序列化()
方法,因此不能正常工作。


从蜂房访问HCatalog表

要访问HCatalog蜂房中创建的表,可以使用下面的命令来追加路径到你的
HADOOP_CLASSPATH
环境变量:


使用与猪

要使用HCatalog库
HCatLoader
HCatStorer
从猪加载和检索数据:

与创建一个表
hcat
实用。

验证表和表的定义都存在。

将数据加载到从猪上表中:复制
$ HIVE_HOME/examples/files/kv1.txt
文件到MapRFS文件系统,然后启动猪并加载该文件使用以下命令:

检索数据
hcatpig
表具有以下猪命令:

另一种方法来验证该数据被装入
hcatpig
表是通过看的内容
maprfs :/ /用户/蜂房/仓库/ hcatpig /
。HCatalog表格也可从蜂巢的CLI访问。所有蜂房疑问HCatalog表工作。


使用与MapReduce的应用

此示例使用一个名为MapReduce的示例程序
HCatalogMRTest.java
。该程序附加到这个页面,可以点击下载工具> 附件。

在命令行中,执行下列命令来定义环境:

编译
HCatalogMRTest.java


创建一个JAR文件:

创建一个输出表:

执行工作:

在工作结束后,该文件
hcatpigoutput
应该有条目的形式
键,计数



使用与非MapReduce应用

此示例使用一个名为MapReduce的示例程序
TestReaderWriter.java
。该程序附加到这个页面,可以点击下载工具> 附件。

以下JAR文件添加到您的
$ HADOOP_CLASSPATH
环境变量使用下面的命令:

用下面的命令进行编译测试程序:

用下面的命令创建一个JAR文件:

运行以下命令的工作:

最后的命令应该导致一个表名为
MYTBL
是填充数据。


WebHCat服务器

该WebHCat服务器提供HCatalog一个类似REST的网络API。应用程序发出HTTP请求从应用程序内运行猪,蜂房,并HCatalog DDL。


配置WebHCat服务器

配置WebHCat的属性是在
/ opt/mapr/hive/hive- <VERSION> / hcatalog的/ etc / webhcat / webhcat-site.xml的
文件。
当您设定WebHCat,您可以配置MAPR-FS和饲养员作为存储。

到c onfigure存储WebHCat:

一个日的MapRFS位置属性:

添加动物园管理员 地址属性:

要配置WebHCat的猪:

压缩猪的安装,然后将压缩的文件移动到MapRFS层。

该值设置
templeton.pig.archive
属性来压缩文件的位置。

设置的值
templeton.pig.path
属性来压缩猪文件,其中猪二元位于内部的路径。

要配置WebHCat的蜂巢:

压缩蜂房安装,然后将压缩文件移动到MAPR-FS层。

该值设置
templeton.hive.archive
属性来压缩文件的位置。

设置的值
templeton.hive.path
属性来压缩配置单元文件所在的蜂巢二进制位于内部的路径。

要配置WebHCat流媒体:

该流的JAR复制到MAPR-FS层。

该设置
templeton.streaming.jar
属性来流JAR的位置。


启动WebHCat服务器

启动WebHCat服务器。

检查
的/ tmp / <user NAME> / webhcat
文件夹错误日志。
在Web浏览器中,导航到
http://hostname:50111/templeton/v1/status
验证服务器的身份。一个健康的服务器将返回字符串
{“状态”:“OK”,“版本”:“卷”}
。您可以从50111默认值通过编辑更改端口号
webhcat-site.xml的
文件。


在WebHCat服务器上运行的作业


REST调用在WebHCat

的基本URI的REST调用WebHCat是
包含http:// <HOST>:<PORT> / templeton/v1 /
。下表列出了附加在基本URI和DDL命令元素。

URI

描述

服务器信息
/状态
显示WebHCat服务器状态。
/版本
显示WebHCat服务器版本。
DDL命令
/ DDL /数据库
列出现有的数据库。
/ DDL /数据库/ <mydatabase>
显示指定的数据库属性MyDatabase的。
/ DDL /数据库/ <mydatabase> /桌
显示在指定的数据库表MyDatabase的。
/ DDL /数据库/ <mydatabase> /表/ <mytable>
显示指定的表的表定义mytable的在指定的数据库MyDatabase的。
/ DDL /数据库/ <mydatabase> /表/ <mytable> /物业
显示指定的表的表属性mytable的在指定的数据库MyDatabase的。


启动与WebHCat一个MapReduce作业

WebHCat推出两项工作对于每个MapReduce作业。第一份工作,
TempletonControllerJob
, 有一个地图的任务。map任务启动从REST
API调用的实际工作。检查两个作业和输出目录内容的状态。

MapReduce的工作的例子复制到MapRFS层:

使用
卷曲
实用程序来启动工作:


启动与WebHCat一个Streaming MapReduce作业

使用
卷曲
实用程序来启动工作:

检查作业状态为WebHCat工作在MCS中的JobTracker的页面。


启动与WebHCat猪就业

一个数据文件复制到MapRFS:

创建一个
test.pig
包含以下内容的文件:

在复制
test.pig
文件到MapRFS:

运行猪REST API命令:

监视的内容
pig.output
目录。
检查JobTracker的页面两份工作:
TempletonControllerJob
PigLatin



启动与WebHCat一个蜂房的工作

创建一个表:

将数据加载到表:

列出表:

表的列表是
hive.output /标准输出



作业队列

要显示特定用户HCatalog工作中,导航到以下地址:

对于HCatalog的默认端口为50111。
图标

已知HCatalog存在错误的信息获取任何有效的工作,而不是检查该作业是HCatalog工作或由指定用户启动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: