当前位置: 首页 > news >正文

Hadoop入门

Hadoop简介

  1. Hadoop是什么

    • Hadoop是Apache基金会开发的一套开源软件平台。
    • 它的功能是利用服务器集群对海量数据进行分布式处理。
    • 核心组件包括HDFS、MapReduce、YARN和Hadoop基础功能库。
  2. Hadoop生态系统

    • 广义上的Hadoop指的是一个更广泛的概念,即Hadoop生态圈。
    • Hadoop是云计算PaaS层的解决方案之一,广泛应用于数据服务基础平台建设、用户画像、网站点击流日志数据挖掘等。

HDFS(分布式文件存储系统)

  • HDFS是Hadoop的核心组件之一,用于存储海量数据。
  • 它将文件分割成多个块(block),并将这些块存储在不同的节点上。
  • HDFS设计用于高吞吐量的访问模式,适合大规模数据集的存储。

MapReduce(分布式计算框架)

  • MapReduce是一种分布式计算框架,采用“分而治之”的思想。
  • 它将复杂的计算任务分解成多个小任务,这些小任务可以在不同的服务器上并行执行。
  • 最终汇总每个小任务的结果,完成整个计算任务。

YARN(资源管理和调度器)

  • YARN负责集群资源的管理和任务调度。
  • 它使得多个应用程序可以共享同一个集群资源。

Hive与传统数据库的比较

  • 查询语言:Hive使用HQL(Hive Query Language),而传统数据库使用SQL。
  • 数据存储:Hive使用HDFS,而传统数据库通常使用本地文件系统或原始设备。
  • 执行引擎:Hive使用MapReduce,而传统数据库使用Executor。
  • 执行延迟:Hive的执行延迟较高,而传统数据库的执行延迟较低。
  • 处理数据规模:Hive适合处理大规模数据,而传统数据库适合处理小规模数据。
  • 索引:Hive在0.8版本后支持位图索引,而传统数据库有更复杂的索引。

Hive的数据定义与操作

  • 创建数据库

    CREATE DATABASE [IF NOT EXISTS] database_name
    [COMMENT database_comment]
    [LOCATION hdfs_path]
    [WITH DBPROPERTIES (property_name=property_value,...)];
    

    示例:

    create database if not exists kaikeba;
    
  • 查看数据库信息

    desc database extended database_name;
    
  • 删除数据库

    drop database if exists kaikeba;
    drop database if exists kaikeba cascade; -- 强制删除数据库
    

数据的导入和导出

  1. 从本地导入到表中

    load data local inpath '本地路径' overwrite into table table_name [partition(partcol1=val1,...)];
    
  2. 从HDFS导入到表中

    load data inpath 'HDFS路径' into table table_name [partition(partcol1=val1,...)];
    
  3. 将Hive表中的数据导出到本地

    insert overwrite local directory '本地路径' select * from table_name;
    
  4. 将Hive表中的数据导出到HDFS

    insert overwrite directory 'HDFS路径' select * from table_name;
    

关闭Hive和Hadoop

  • 关闭Hive

    quit;
    
  • 关闭Hadoop

    stop-all.sh
    
http://www.dtcms.com/a/335484.html

相关文章:

  • SpringCloud 06 服务容错 Sentinel
  • NY270NY273美光固态闪存NY277NY287
  • 黎阳之光:以动态感知与 AI 深度赋能,引领电力智慧化转型新革命
  • mysql||事务相关知识
  • nertctl使用了解
  • Node.js导入MongoDB具体操作
  • IoT/HCIP实验-5/基于WIFI的智慧农业实验(LwM2M/CoAP+PSK+ESP8266 连接到 IoTDA)
  • python study notes[4]
  • Vue深入组件:Props 详解3
  • 【adb端口5555】烽火hg680-gy_烽火hg680-gc安卓9线刷烧录包 解决用一段时间就提示升级的问题
  • 回溯剪枝的 “减法艺术”:化解超时危机的 “救命稻草”(一)
  • 如何在 Ubuntu 24.04、22.04 或 20.04 Linux 中更改计算机名称
  • 智能化管理:开启海洋牧场新时代
  • 字节 Golang 大模型应用开发框架 Eino简介
  • Vue深入组件:Props 详解2
  • es7.17.x es服务yellow状态的排查查看节点,分片状态数量
  • 42 C++ STL模板库11-容器4-forward_list
  • C++算法竞赛:位运算
  • 线程(基本概念和相关命令)
  • CT01-反转链表(Java)
  • 从零开始:SpringBoot与KingbaseES的完美融合实践
  • 基于飞算JavaAI的可视化数据分析集成系统项目实践:从需求到落地的全流程解析
  • Java 大视界 -- Java 大数据分布式计算在基因测序数据分析与精准医疗中的应用(400)
  • Excel 表格数据自动填充
  • 【线程安全(二) Java EE】
  • 基于飞算JavaAI实现布隆过滤器防止缓存穿透:原理、实践与全流程解析
  • 【电路笔记 通信】AXI4-Lite协议 FPGA实现 Valid-Ready Handshake 握手协议
  • 【计算机网络面试】键入网址到网页显示期间,发生了什么?
  • Tomcat Connector连接器原理
  • Bee1.17.25更新Bug,完善功能.不支持NOSQL,分库分表Sharding(2.X版有)