最近更新时间:2024-09-29 17:27:47
Hue (Hadoop User Experience)是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,其基于Python Web框架Django实现。Hue为KMR集群提供了图形化用户界面,便于用户配置、使用以及查看KMR集群。
相关连接:
Github: https://github.com/cloudera/hue
Reviews: https://review.cloudera.org
访问HDFS和文件浏览;
通过web调试和开发hive以及数据结果展示;
solr查询、结果展示、报表生成;
通过web调试和开发impala交互式SQL Query;
spark调试和开发;
Pig开发和调试;
oozie任务的开发、监控和工作流协调调度;
Hbase数据查询和修改、数据展示;
Hive的元数据(metastore)查询;
MapReduce任务进度查看,日志追踪;
创建和提交MapReduce,Streaming,Java job任务;
Sqoop2的开发和调试;
Zookeeper的浏览和编辑;
数据库(MySQL、PostgreSQL、SQlite,Oracle)的查询和展示。
在KMR中的Ambari控制台Service界面中选择Hue,单击上边Quick Links下拉菜单,然后单击Hue WEB-UI即可进入Hue的Web页面。
首次登录会创建用户,请牢记首次登录的用户名和密码,如果忘记请联系金山云的开发人员重置密码。
通过Hue的Web页面可方便查看HDFS中的文件及文件夹,以及对其进行创建、下载、上传、复制、修改及删除等操作。
单击文件/文件夹,单击②处,可对其进行③中所示的删除(Move to trash)、重命名(Rename folder)、导出(Export)、导入(Import)等工作。
点击回收站处(Trash)可查看已删除文件/文件夹。
单击①处,本为上图中⑤处状态,鼠标放置其上时,变为下图①中状态,依次点击Browsers>Documents,可查看文件夹。
单击新建按钮(①处),单击最下方New Folder可新建文件夹。
在HUE Web页面可很方便的将文件上传至HDFS文件中
单击下图①处,选择文件要上传的文件夹,单击③处+号按钮选择本地文件进行上传。
HUE的beeswax app提供友好方便的Hive查询功能,能够选择不同的Hive数据库,编写HQL语句,提交查询任务,并且能够在界面下方看到查询作业运行的日志。在得到结果后,还提供进行简单的图表分析能力。
页面新建
步骤:
点击Database后加号;
输入数据库名称;
输入数据库描述;
点击Submit。
输入框输入语句
页面单击Query>Editor>Hive。
在语句输入框中输入要执行语句;然后单击动作执行按钮执行建表操作。
注意:
在新建数据库时,可能会出现一下错误:
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
点击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' ;
导入文档内容如下
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 |
对字段进行设置,可选择其类型(默认已配好对应类型),也可新增加分区,最后单击Submit。
表创建完成后页面如下,可看到表结构,表状态等相应信息,在右上侧output中可以看到历史作业及其状态信息,日志信息也可在上方栏目中查看。
单击Query下拉菜单,依次选择Editor>Hive。
在输入框内输入相应SQL语句,进行数据库搜索,注意数据库(djc),表(stu)一一对应。在下方Results中可以看到搜索结果。
在下图中单击①处,可选择展示图类型,此例中选择Pie饼状图,其结果在右方显示。
也可以选择不同值对结果进行展示。
您也可以在输入框中输入语句执行其他操作。
修改Hue中“Query Editors”配置
单击①处
按钮;
在②处Files的右侧单击
指定该文件的存储目录。可以单击
新增加一个文件资源。
在③处Functiions的右侧可输入用户自定义的名称和函数的类名称。单击
新增加一个自定义函数。
在④处Settings的右侧中Key处输入Hive的参数名,在Value输入对应的参数值,则当前Hive会话会以用户定义的配置连接Hive。可单击
新增加一个参数。
查看操作历史:在查询框下方单击Query HIstory可查看操作记录。
保存操作:在输入命令后,点击上方save按钮,可对所执行操作进行保存。
查看所保存操作:在查询框下方单击Saved Queries可查看已保存的历史操作。
markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。
依次单击Query>Editor>Markdown进入Markdown编辑页面。
输入内容及效果如下:
在想要设置为标题的文字前面加#来表示。
一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。
加粗 要加粗的文字左右分别用两个*号包起来。
斜体 要倾斜的文字左右分别用一个*号包起来。
斜体加粗 要倾斜和加粗的文字左右分别用三个*号包起来。
删除线 要加删除线的文字左右分别用两个~~号包起来。
超链接 [超链接名](超链接地址 "超链接title") title可加可不加
语法:
表头|表头|表头 ----|-----|----- 内容|内容|内容 内容|内容|内容
第二行分割表头和内容。 - 有一个就行,为了对齐,多加了几个 文字默认居左,-两边加:表示文字居中,右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。
在notebook中可以添加Text、Markdown、Hive、MySQL、SQLite,其可以在同一页面中进行执行。
点击加号,添加对应任务,输入命令后其可在同一页面中进行展示。
下图分别为Text、Markdown及Hive操作结果。
在hue中提交mapreduce作业非常简单。
在页面依次选择Query->Editor>MapReduce。
以执行以mapreduce sleep作业为例
在①处填写jar包的HDFS路径,路径任意。
在②处对所有mapreduce作业的配置进行填写,此作业配置内容见下表。
点击提交按钮,提交作业。
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可很方便的在HDFS中进行文件的传输
1)依次单击Query-->Editor-->Distcp
2)在下页面中分别配置号源文件(①处)和目标文件夹(②处),单击③处提交按钮进行作业提交
纯净模式