大数据-Hadoop-户管理界面:HUE(Hadoop User Experience)【将Hadoop中各种相关的软件(HDFS、Hive...)的操作界面融合在一起,形成一个统一的操作界面】

什么是HUE? hadoop的用户体验

  • HUE主要的作用将Hadoop中各种相关的软件的操作界面. 给融合在一起, 形成一个统一的操作界面
  • HUE是一个大集成者

Hue 是一个Web应用,用来简化用户和Hadoop集群的交互。Hue技术架构,如下图所示,从总体上来讲,Hue应用采用的是B/S架构,该web应用的后台采用python编程语言别写的。大体上可以分为三层,分别是前端view层、Web服务层和Backend服务层。Web服务层和Backend服务层之间使用RPC的方式调用。
在这里插入图片描述

Hue整合大数据技术栈架构

  • 由于大数据框架很多,为了解决某个问题,一般来说会用到多个框架,但是每个框架又都有自己的web UI监控界面,对应着不同的端口号。比如HDFS(50070#pic_center =800x)、YARN(8088)、MapReduce(19888)等。这个时候有一个统一的web UI界面去管理各个大数据常用框架是非常方便的。这就使得对大数据的开发、监控和运维更加的方便。

在这里插入图片描述
 从上图可以看出,Hue几乎可以支持所有大数据框架,包含有HDFS文件系统对的页面(调用HDFS API,进行增删改查的操作),有HIVE UI界面(使用HiveServer2,JDBC方式连接,可以在页面上编写HQL语句,进行数据分析查询),YARN监控及Oozie工作流任务调度页面等等。

Hue通过把这些大数据技术栈整合在一起,通过统一的Web UI来访问和管理,极大地提高了大数据用户和管理员的工作效率。

这里总结一下Hue支持哪些功能:

  • 默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle
  • 基于文件浏览器(File Browser)访问HDFS
  • 基于Hive编辑器来开发和运行Hive查询
  • 支持基于Solr进行搜索的应用,并提供可视化的数据视图,以及仪表板(Dashboard)
  • 支持基于Impala的应用进行交互式查询
  • 支持Spark编辑器和仪表板(Dashboard)
  • 支持Pig编辑器,并能够提交脚本任务
  • 支持Oozie编辑器,可以通过仪表板提交和监控Workflow、Coordinator和Bundle
  • 支持HBase浏览器,能够可视化数据、查询数据、修改HBase表
  • 支持Metastore浏览器,可以访问Hive的元数据,以及HCatalog
  • 支持Job浏览器,能够访问MapReduce Job(MR1/MR2-YARN)
  • 支持Job设计器,能够创建MapReduce/Streaming/Java Job
  • 支持Sqoop 2编辑器和仪表板(Dashboard)
  • 支持ZooKeeper浏览器和编辑器
  • 支持MySql、PostGresql、Sqlite和Oracle数据库查询编辑器
  • 使用sentry基于角色的授权以及多租户的管理.(Hue 2.x or 3.x)

如何进入到HUE操作界面呢? 进入Cloudera Manager界面:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
说明 密码和用户名都是小写
在这里插入图片描述

一、HUE操作HDFS

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
HDFS新建文件夹
在这里插入图片描述
新建文件
在这里插入图片描述
上传文件
在这里插入图片描述
查看HDFS文件内容

在这里插入图片描述
编辑HDFS文件
在这里插入图片描述
删除文件
在这里插入图片描述
更改文件权限
在这里插入图片描述
在这里插入图片描述

二、HUE操作Hive

在这里插入图片描述
写HiveSQL语句
在这里插入图片描述

创建数据库

CREATE DATABASE IF NOT EXISTS `test`;

在这里插入图片描述
创建表

create table test.test_table(
id int,
name string comment '姓名'
)
comment '测试表' row format delimited fields terminated by '\t';

在这里插入图片描述
插入数据

insert into test.test_table values (1, '张三');

在这里插入图片描述
查询数据

select * from test.test_table;

在这里插入图片描述
在这里插入图片描述
调整区域大小
在这里插入图片描述




参考资料:
HUE的基本使用

<think>好的,我现在需要帮助用户解决编译错误的问题。用户在使用STM32F103C8T6的工程模板时,遇到了一个错误:User\main.c(3): error: #5: cannot open source input file "uart.h": No such file or directory。这个问题看起来是头文件uart.h找不到导致的。接下来,我需要分析可能的原因,并给出解决方案。 首先,我得回忆一下常见的编译错误。当编译器提示找不到头文件时,通常有几个原因:头文件确实不存在于项目中,头文件路径没有正确添加到工程设置里,或者头文件名拼写错误。用户已经确认了代码中的#include "uart.h"是正确的,所以排除了拼写错误。接下来需要检查其他两个方面。 第一步,用户需要确认uart.h文件是否存在于工程目录中。根据用户提供的工程结构,User目录下应该有uart.c和uart.h。如果用户下载的模板不完整,或者文件被误删,就会导致这个问题。建议用户检查User文件夹,确认uart.h是否存在。如果不存在,可能需要重新下载工程模板或者手动创建该文件。 第二步,检查编译器的包含路径设置。即使用户的工程目录中有uart.h,如果编译器没有正确设置头文件路径,也会导致找不到头文件。在Keil MDK中,需要检查C/C++选项卡下的Include Paths是否包含了User目录的路径。用户提供的工程结构里,User目录位于Project/User,所以正确的路径应该是相对或绝对路径指向这里。如果路径没有包含进去,编译器自然找不到头文件。需要指导用户如何检查和添加路径。 第三步,考虑文件系统的大小写问题。尤其是在Linux或跨平台开发时,如果代码中引用的是"uart.h",而实际文件名是UART.H,可能会出现大小写不一致的问题。但用户使用的是Windows系统,通常不区分大小写,所以这个可能性较低,不过还是可以提醒用户注意文件名是否完全匹配。 第四步,检查文件编码和损坏情况。虽然不常见,但如果文件编码异常或者文件损坏,也可能导致编译器无法识别。用户可以尝试用文本编辑器打开uart.h,确认内容是否正确,没有乱码或者损坏的情况。 第五步,工程配置的其他问题。例如,是否在工程中添加了uart.c文件到项目结构中?如果源文件没有被正确添加,可能会导致头文件虽然存在,但编译器在预处理阶段无法找到。不过一般来说,头文件的包含路径设置正确的话,即使源文件未添加,头文件应该也能找到,只是链接时会出错。不过还是可以提醒用户检查一下。 另外,用户可能在复制工程模板时,目录结构发生了变化。比如,原本的User目录被移动到了其他地方,导致相对路径失效。需要确保整个工程目录的结构保持原样,或者路径设置相应调整。 总结下来,最可能的原因是头文件路径未正确配置,或者头文件本身缺失。需要分步骤指导用户逐一排查这两个方面,并提供具体的操作步骤,比如如何在Keil中添加包含路径,如何检查文件是否存在等。同时,给出示例代码和截图可能有助于用户理解操作步骤,但文本回复中无法提供图片,所以需要用文字详细描述。 可能还需要提醒用户注意工程配置中的预定义宏是否正确,比如USE_STDPERIPH_DRIVER和STM32F10X_MD,这些宏可能影响标准外设库的包含,但当前错误是uart.h找不到,可能和这些宏关系不大,不过还是可以提及,以防用户有其他潜在问题。 最后,确保回答结构清晰,分点列出解决方案,帮助用户逐步解决问题,并保持语言简洁易懂,避免技术术语过于复杂,让用户能轻松跟随指导操作。</think>### **错误原因分析** 当出现`cannot open source input file "uart.h"`错误时,主要存在以下两种可能性: 1. **文件缺失** - 头文件`uart.h`未实际存在于工程目录中 - 文件路径与工程配置不匹配 2. **编译环境配置错误** - 编译器未正确设置头文件搜索路径 - 文件名大小写不一致(Linux系统需特别注意) --- ### **分步解决方案** #### **第一步:验证文件存在性** 1. 打开工程目录中的`User`文件夹 2. 确认是否存在`uart.h`文件(文件名需**严格一致**) 3. 如果文件缺失,需补全文件: ```c // uart.h 示例模板(基础功能) #ifndef __UART_H #define __UART_H #include "stm32f10x.h" void UART1_Init(uint32_t baudrate); void UART_SendByte(USART_TypeDef* USARTx, uint8_t data); void UART_SendString(USART_TypeDef* USARTx, char *str); #endif ``` #### **第二步:配置编译器路径** 以 **Keil MDK** 为例: 1. 右键工程 → `Options for Target` → `C/C++`选项卡 2. 在`Include Paths`中添加`User`目录路径 (路径格式示例:`..\Project\User`) 3. 确保路径层级与实际存储位置一致 ![Keil包含路径配置示意图](https://via.placeholder.com/600x300?text=Keil+Include+Paths+Configuration) #### **第三步:检查文件系统兼容性** - **Windows系统**:直接检查文件名拼写 - **Linux/macOS系统**: ```bash ls User/ | grep -i uart.h # 检查文件名实际大小写 ``` #### **第四步:验证文件内容** 打开`uart.h`文件,检查是否包含以下关键内容: ```c // 确保USART硬件定义正确 #define USART1_GPIO_PORT GPIOA #define USART1_TX_PIN GPIO_Pin_9 #define USART1_RX_PIN GPIO_Pin_10 ``` --- ### **扩展建议** 1. **工程模板验证**: 重新下载原始工程模板,对比文件完整性 2. **版本控制**: 建议使用Git管理工程文件,避免文件丢失: ```bash git add . git commit -m "添加UART驱动" ``` --- 完成上述步骤后,重新编译工程即可解决该错误。若仍存在问题,请提供`User`目录的完整文件列表截图,以便进一步分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值