HUE使用实践指南

最近更新时间:2019-01-08 18:13:33

HUE使用实践指南

HUE 总体概览

HUE简介

Hue (Hadoop User Experience)是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,其基于Python Web框架Django实现。Hue为KMR集群提供了图形化用户界面,便于用户配置、使用以及查看KMR集群。

相关连接:

官网: http://gethue.com/

Github: https://github.com/cloudera/hue

Reviews: https://review.cloudera.org

HUE功能

  1. 访问HDFS和文件浏览

  2. 通过web调试和开发hive以及数据结果展示

  3. solr查询、结果展示、报表生成

  4. 通过web调试和开发impala交互式SQL Query

  5. spark调试和开发

  6. Pig开发和调试

  7. oozie任务的开发、监控和工作流协调调度

  8. Hbase数据查询和修改、数据展示

  9. Hive的元数据(metastore)查询

  10. MapReduce任务进度查看,日志追踪

  11. 创建和提交MapReduce,Streaming,Java job任务

  12. Sqoop2的开发和调试

  13. Zookeeper的浏览和编辑

  14. 数据库(MySQL、PostgreSQL、SQlite,Oracle)的查询和展示

登录HUE

在KMR中的Ambari控制台Service界面中选择Hue,单击上边Quick Links下拉菜单,然后单击Hue WEB-UI即可进入Hue的Web页面。

首次登录会创建用户,请牢记首次登录的用户名和密码,如果忘记请联系金山云的开发人员重置密码。

image.png

HDFS文件浏览

通过Hue的Web页面可方便查看HDFS中的文件及文件夹,以及对其进行创建、下载、上传、复制、修改及删除等操作。

单击文件/文件夹,单击②处,可对其进行③中所示的删除(Move to trash)、重命名(Rename folder)、导出(Export)、导入(Import)等工作。

image.png

点击回收站处(Trash)可查看已删除文件/文件夹。

文件查看

单击①处,本为上图中⑤处状态,鼠标放置其上时,变为下图①中状态,依次点击Browsers -- >Documents,可查看文件夹。

image.png

新建文件夹

单击新建按钮(①处),单击最下方New Folder可新建文件夹。

image.png

文件

在HUE Web页面可很方便的将文件上传至HDFS文件中

单击下图①处,选择文件要上传的文件夹,单击③处+号按钮选择本地文件进行上传

image.png

SQL查询

Hive操作

HUE的beeswax app提供友好方便的Hive查询功能,能够选择不同的Hive数据库,编写HQL语句,提交查询任务,并且能够在界面下方看到查询作业运行的日志。在得到结果后,还提供进行简单的图表分析能力。

新建数据库

  1. 页面新建

步骤:

  • 点击Database后加号;
  • 输入数据库名称;
  • 输入数据库描述;
  • 点击Submit;
  1. 输入框输入语句

页面单击Query→Editor→Hive

image.png

在语句输入框中输入要执行语句;然后单击动作执行按钮执行建表操作

image.png

注意:

在新建数据库时,可能会出现一下错误:

Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.security.AccessControlException: Permission denied: user=hive, access=WRITE, inode="/":hdfs:hdfs:drwxr-xr-x 

出现错误原因如下:

  • HDFS权限不够
  • 错误使用了 root 用户运行 hive/hbase
  • 第一次以xxx用户运行 hive/hbase
  • 使用 root 用户进行 HDFS 操作/跑 HIVE 脚本

对于使用 root 用户进行 xxx 操作导致类似错误,我们不建议用户使用 root 用户进行类似操作,应切换到所使用服务对用的用户下进行操作,以减少不必要的问题。

对于第一次使用 Hive/HBase导致此错误,进行以下操作:

su  -hdfs

#If error come with Hive

hdfs dfs -mkdir -p /apps/hive

hdfs dfs -chown hive:hdfs /apps/hive

#If error come with HBase

hdfs dfs -mkdir -p /apps/hbase

hdfs dfs -chown hbase:hdfs /apps/hbase

新建表

  1. 点击Tables后加号标志,在SOURCE后导入文档(下列中导入的为txt文档),单击Next。 您也可以直接输入SQL语句进行表创建,如
CREATE TABLE IF NOT EXISTS user_07 ( 

user_id string , 

seller_id string , 

product_id string ,

time string

) 

ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ;

image.png

  1. 导入文档内容如下
0001 zhangsan 99 98 100 school1 class1
0002 lisi 59 89 79 school1 class1
0003 wangwu 89 99 100 school3 class1
0004 zhangsan2 99 98 100 school1 class1
0005 lisi2 59 89 79 school2 class1
0006 wangwu2 89 99 100 school3 class1
  1. 对字段进行设置,可选择其类型(默认已配好对应类型),也可新增加分区,最后单击Submit。

image.png

  1. 表创建完成后页面如下,可看到表结构,表状态等相应信息,在右上侧output中可以看到历史作业及其状态信息,日志信息也可在上方栏目中查看。

image.png

查询

  1. 单击Query下拉菜单,依次选择Editor - - >Hive

image.png

  1. 在输入框内输入相应SQL语句,进行数据库搜索,注意数据库(djc),表(stu)一一对应。在下方Results中可以看到搜索结果。

image.png

结果可视化

在下图中单击①处,可选择展示图类型,此例中选择Pie饼状图,其结果在右方显示

image.png

也可以选择不同值对结果进行展示

image.png

您也可以在输入框中输入语句执行其他操作。

其他

修改Hue中“Query Editors”配置

  • 单击①处image.png按钮;
  • 在②处“Files”的右侧单击image.png指定该文件的存储目录。可以单击image.png 新增加一个文件资源。
  • 在③处“Functiions”的右侧可输入用户自定义的名称和函数的类名称。单击image.png 新增加一个自定义函数。
  • 在④处“Settings”的右侧中“Key”处输入Hive的参数名,在Value”输入对应的参数值,则当前Hive会话会以用户定义的配置连接Hive。可单击image.png 新增加一个参数。

image.png

查看操作历史:在查询框下方单击“Query HIstory”可查看操作记录

保存操作:在输入命令后,点击上方save按钮,可对所执行操作进行保存

查看所保存操作:在查询框下方单击“Saved Queries”可查看已保存的历史操作

Markdown功能使用说明

Markdown简介

markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。

依次单击Query-->Editor-->Markdown进入Markdown编辑页面;

image.png

输入内容及效果如下:

image.png

Markdown语法简介

标题

在想要设置为标题的文字前面加#来表示

一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。

字体

  • 加粗 要加粗的文字左右分别用两个*号包起来

  • 斜体 要倾斜的文字左右分别用一个*号包起来

  • 斜体加粗 要倾斜和加粗的文字左右分别用三个*号包起来

  • 删除线 要加删除线的文字左右分别用两个~~号包起来

  • 超链接 [超链接名](超链接地址 "超链接title") title可加可不加

表格

语法:

表头|表头|表头 ----|-----|----- 内容|内容|内容 内容|内容|内容

第二行分割表头和内容。 - 有一个就行,为了对齐,多加了几个 文字默认居左,-两边加:表示文字居中,右边加:表示文字居右

:原生的语法两边都要用 | 包起来。

Notebook操作

在notebook中可以添加Text、Markdown、Hive、MySQL、SQLite,其可以在同一页面中进行执行

点击加号,添加对应任务,输入命令后其可在同一页面中进行展示

下图分别为Text、Markdown及Hive操作结果

image.png

MapReduce作业

在hue中提交mapreduce作业非常简单。

新建Mapreduce Action

在页面依次选择Query-->Editor-->MapReduce

image.png

作业配置

以执行以mapreduce sleep作业为例

1) 在①处填写jar包的HDFS路径,路径任意 2) 在②处对所有mapreduce作业的配置进行填写,此作业配置内容见下表 3) 点击提交按钮,提交作业

image.png

mapreduce作业配置内容:

mapred.mapper.class=org.apache.hadoop.examples.SleepJob

mapred.reducer.class=org.apache.hadoop.examples.SleepJob

mapred.mapoutput.key.class=org.apache.hadoop.io.IntWritable

mapred.mapoutput.value.class=org.apache.hadoop.io.NullWritable

mapred.output.format.class=org.apache.hadoop.mapred.lib.NullOutputFormat

mapred.input.format.class=org.apache.hadoop.examples.SleepJob$SleepInputFormat

mapred.partitioner.class=org.apache.hadoop.examples.SleepJob

sleep.job.map.sleep.time=5

sleep.job.reduce.sleep.time=10

DistCp作业

使用Distcp可很方便的在HDFS中进行文件的传输

1)依次单击Query-->Editor-->Distcp

image.png 2)在下页面中分别配置号源文件(①处)和目标文件夹(②处),单击③处提交按钮进行作业提交

image.png

金山云,开启您的云计算之旅

注册有礼