hadoop、hive、DBeaver的环境搭建及使用

news/2023/12/9 20:19:59 标签: hadoop, hive, 大数据

本文主要介绍hadoophive的结构及使用,具体的操作步骤见最后的附件;

hadoop提供大数据的存储、资源调度、计算,分为三个模块:HDFS、YRAN、MapReduce
    HDFS提供数据的分布式存储,分为三个节点NameNode,DataNode,SecondaryNameNode

          1、当客户端发起读写数据请求时首先到 NameNode,NameNode审核权限、判断剩余空间,然后告知客户端读写的DataNode地址,客户端向指定的DataNode发送数据包,被写入数据的DataNode同时完成数据副本的复制工作,将其接收的数据分发给其它DataNode

         2、hdfs以biock(块)为单位存储文件,每个块默认256M,可调整块的大小,每个块可创建多个(可设置)备份来保证存储文件的安全性
         3、edits文件:是一个流水账文件,记录hdfs中的每一次操作,也记录了文件和block的对应关系,一个文件如果经过多次操作,在edits中存在多条记录、检索文件时效率比较低,所以就有了edits文件的合并

         4、edits文件合并后的文件叫做fsimage,只保留文件的最终结果,合并文件的操作是SecondaryNameNode来完成

         NameNode基于edits和FSImage的配合,完成整个文件系统文件的管理。

         启动和停止:start-dfs.sh  、stop-dfs.sh

   YARN是hadoop里面的资源调度组件,分为:ResourceManager,NodeManager,ProxyServer,JobHistoryServer

        1、ResourceManager:整个集群的资源调度者, 负责协调调度各个程序所需的资源。
        2、NodeManager:单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用。
        3、ProxyServer:应用程序代理,yarn在运行时对外提供了一个web ui站点,代理服务器的功能就是最大限度保障对WEB UI的访问是安全的
        4、JobHistoryServer:历史服务器,应用程序历史信息记录服务,日志是在容器中产生的,分布在不同的服务器中难以查询,JobHistoryServer抓取所有的日志在web ui中展示

        单个任务在单个服务器上需要的资源称之为容器(container),NodeManager预先占有这些资源供任务使用;

        启动和停止yarn:start-yarn.sh、stop-yarn.sh

   mapReduce是hadoop的分布式计算组件,运行在yarn中的,不需要单独启动;

        MapReduce提供了两个接口:
            Map功能接口提供了“分散”的功能, 由服务器分布式对数据进行处理
            Reduce功能接口提供了“汇总(聚合)”的功能,将分布式的处理结果汇总统计

       MapReduce 代码比较老,难以学习使用,在MapReduce基础上推出了一些新的工具,底层都是MapReduce在执行
 

Hive主要包含两个模块

     元数据管理:metastore服务,用于存储元数据,如通过load等命令将文本文件存储在mysql等数据库中
     sql解析器:将SQL语句 翻译成 MapReduce 程序运行

    hive是单机部署,但是可以使用 分布式的mapReduce进行计算   

使用hive需要启动metastore和客户端服务(用于客户端连接):

    启动元数据管理服务
        前台启动:bin/hive --service metastore 
        后台启动:nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &
    启动客户端,二选一,启动后就可以通过DBeaver或DataGrid等工具连接hive进行操作了
        Hive Shell方式(可以直接写SQL): bin/hive
        Hive ThriftServer方式(不可直接写SQL,需要外部客户端链接使用): bin/hive --service hiveserver2

   数据库中的列和文本文件中的列是一一对应的,所以要指定列和列之间的分隔符,hive默认是以”\001”作为分隔符,也可以手动指定


hive和mysql数据库的不同:

  hive内部表和外部表:
     内部表类似数据库中的表,表和数据是一体的,删除表后数据也删除了
     外部表是表和数据是独立的,创建表时指定了目录,那这个目录中的文本文件就默认成为了表数据,删除表后只是表删除了,数据还在    
  hive中有集合列:array,map,struct 使用这些列时需要指定集合中不同元素之间的分隔符

具体操作步骤及hive的类sql操作见下面附件:

链接:https://pan.baidu.com/s/1i_CefoRjWnO5fZ54AOhxhQ?pwd=g33j 

相关视频课程推荐:      2023新版黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目全套一网打尽_哔哩哔哩_bilibili


 


http://www.niftyadmin.cn/n/5198994.html

相关文章

R语言——taxize(第三部分)

taxize(第三部分) 3. taxize 文档中译3.24. genbank2uid(从 GenBankID 获取 NCBI 分类 UID)3.25. getkey(获取 API 密钥的函数)3.26. get_boldid(获取搜索词的 BOLD(生命条形码&…

【Spring Boot】使用WebSocket协议完成来单提醒及客户催单功能

1 WebSocket介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信(双向传输)——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。 1.1 HTTP协议和WebSocket协议对比 1、HTTP是短…

JavaScript 字符处理

1.删除前几个字符 使用 slice console.log(12345.slice(1))// 23452.首字母大写 var word abcconsole.log(word.charAt(0).toUpperCase() word.slice(1))// Abc3.字符为数字时可直接相乘 console.log(2*3) 4.字符串中是否包含某个子字符串 子串既可以为数字也可为字符串 /…

python+selenium实现web自动化(基础入门)

selenium 是一个自动化操控工具,支持对web端进行自动化操控,从而实现自动化测试。 相关文档: https://python-selenium-zh.readthedocs.io/zh-cn/latest/https://www.selenium.dev/documentation/ 安装配置 环境依赖: python…

Java学习day14:权限修饰符,集合(知识点+例题详解)

声明:该专栏本人重新过一遍java知识点时候的笔记汇总,主要是每天的知识点题解,算是让自己巩固复习,也希望能给初学的朋友们一点帮助,大佬们不喜勿喷(抱拳了老铁!) 往期回顾 Java学习day13:泛型&…

Android Binder 是怎么实现进程间通信

文章目录 Android Binder 是怎么实现进程间通信 Android Binder 是怎么实现进程间通信 Android Binder 机制的实现基于 Linux 内核中的 Inter-Process Communication(IPC)机制,具体来说,它是通过进程间共享内存和进程间调用&…

数据仓库高级面试题

数仓高内聚低耦合是怎么做的 定义 高内聚:强调模块内部的相对独立性,要求模块内部的元素尽可能的完成一个功能,不混杂其他功能,从而使模块保持简洁,易于理解和管理。 低耦合:模块之间的耦合度要尽可能的…

微信小程序内嵌h5页面,实现动态设置顶部标题的功能

一、需求描述 使用HBuilder X作为开发工具&#xff0c;vue作为开发语言&#xff0c;开发微信小程序。微信小程序页面内嵌h5页面&#xff0c;即<web-view></web-view>标签。通过设置不同url连接地址&#xff0c;设置不同的标题。 二、失败做法 页面A嵌入h5页面&a…

你知道STM32和51单片机的区别吗?

你知道STM32和51单片机的区别吗&#xff1f; 51单片机是很经典的一款单片机。事实上很多电信专业本科阶段都会以这个单片机作为入门。最近很多小伙伴找我&#xff0c;说想要一些STM32的资料&#xff0c;然后我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心…

助力制造企业降本增效,生成式AI技术大有可为

对于2023年的科技领域来说&#xff0c;生成式AI&#xff08;Artificial Intelligence Generated Content&#xff0c;也称AIGC&#xff09;绝对是最热门的焦点话题&#xff0c;没有之一。 那么对于制造行业来说&#xff0c;他们应该怎样从生成式AI这项新兴技术中获益&#xff1…

见面礼——图论

给定一个 n 个点 n 条边的无向图&#xff0c;你需要求有多少种选择图上的一个点 p 和一条边 (x,y) 的方案&#xff0c;使得删去 (x,y) 后图变成一棵树&#xff0c;且这棵树以 p 为根时每个节点的儿子个数均不超过 3。保证至少存在一种这样的方案。 Input 输入的第一行一个整数…

PaddleDetection训练目标检测模型

PaddleDetection训练目标检测模型 一&#xff0c;安装标注软件二&#xff0c;数据标注和清洗三&#xff0c;安装PaddleDetection环境四&#xff0c;修改配置文件&#xff0c;本文选择的是 PP-PicoDet算法五&#xff0c;训练模型六&#xff0c;训练完成之后导出模型七&#xff0…

Git 笔记之gitignore

解释为&#xff1a;git ignore 即&#xff0c;此类型的文件将会被忽略掉&#xff0c;从而不会进行管理 具体的模板可以从 GitHub 网站上来进行设置 GitHub - github/gitignore: A collection of useful .gitignore templates Common_gitignore: gitignoregithub开源项目&…

cadence layout lvs时出现error

Error&#xff1a;Schematic export failed or was cancelled.Please consult the transcript in the viewer window. 解决办法同下&#xff1a; cadence layout lvs时出现error-CSDN博客

KaiwuDB 监控组件及辅助 SQL 调优介绍

一、介绍 KaiwuDB 具备完善的行为数据采集功能&#xff0c;此功能要求 KaiwuDB 数据库系统 C/E/T 端不同进程的不同维度的指标采集功能十分完善&#xff1b;在不同进程完成指标采集后&#xff0c;会通过 Opentelemetry 和 Collector 将指标存入 Prometheus&#xff0c;以便查找…

gin相关操作--一起学习921190764

gin官方文档 https://gin-gonic.com/docs/quickstart/1. 安装 go get -u github.com/gin-gonic/ginhttps://github.com/gin-gonic/gin简单入门 package mainimport ("github.com/gin-gonic/gin""net/http" )func pong(c *gin.Context) {//c.JSON(http.S…
最新文章