手把手教你使用自建Hadoop访问全托管服务化HDFS(OSS-HDFS服务)

本文涉及的产品
对象存储 OSS,20GB 3个月
实时计算 Flink 版,5000CU*H 3个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 1. 服务介绍OSS-HDFS服务(JindoFS 服务)是一款云原生数据湖3.0存储产品,基于统一的元数据管理能力,在完全兼容 HDFS 文件系统接口的同时,提供充分的 POSIX 能力支持,能更好的满足大数据和 AI 领域丰富多样的数据湖计算场景。通过OSS-HDFS服务,无需对现有的 Hadoop/Spark 大数据分析应用做任何修改,通过简单的配置就可以像在原生HDFS中那样管理和访问数据

1. 服务介绍

OSS-HDFS服务(JindoFS 服务)是一款云原生数据湖3.0存储产品,基于统一的元数据管理能力,在完全兼容 HDFS 文件系统接口的同时,提供充分的 POSIX 能力支持,能更好的满足大数据和 AI 领域丰富多样的数据湖计算场景。

通过OSS-HDFS服务,无需对现有的 Hadoop/Spark 大数据分析应用做任何修改,通过简单的配置就可以像在原生HDFS中那样管理和访问数据,同时获得OSS无限容量、弹性扩展、更高的安全性、可靠性和可用性支撑。

数据湖HDFS演进路径

1.1 主要特性

1.1.1 HDFS 兼容访问

OSS-HDFS服务(JindoFS服务)完全兼容HDFS接口,同时支持目录层级的操作,用户只需集成JindoSDK,即可为Apache Hadoop的计算分析应用(例如MapReduce、Hive、Spark、Flink等)提供了访问HDFS服务的能力,像使用 Hadoop 分布式文件系统 (HDFS) 一样管理和访问数据,使用详情请参考OSS-HDFS服务快速入门

1.1.2 POSIX 能力支持

OSS-HDFS服务可以通过JindoFuse提供POSIX支持。可以把OSS-HDFS服务上的文件挂载到本地文件系统中,能够像操作本地文件系统一样操作JindoFS服务中的文件,使用详情请参考使用JindoFuse访问OSS-HDFS服务

1.1.3 高性能、高弹性、低成本

使用自建Haddop集群,严重依赖硬件资源,很难做到资源的弹性伸缩,成本和效益上捉襟见肘,比如规模超过数百台,文件数达到4亿左右时NameNode基本达到瓶颈。随着元数据规模的上涨,其QPS存在下降的趋势。而OSS-HDFS服务是专为多租户、海量数据存储服务设计,元数据管理能力可弹性扩容,可支持更高的并发度、吞吐量和低时延,即使超过10亿文件数依然可以保持服务稳定,提供高性能、高可用的服务。同时采用统一元数据管理能力,可轻松应对超大文件规模,并支持多种分层分级策略,系统的资源利用率更高,更节约成本,能充分满足业务体量快速变化的需求。

1.1.4 数据持久性和服务可用性

OSS-HDFS服务中数据存储在对象存储OSS上,而OSS作为阿里巴巴全集团数据存储的核心基础设施,多年支撑双11业务高峰,历经高可用与高可靠的严苛考验。

  • 服务可用性不低于99.995%。
  • 数据设计持久性不低于99.9999999999%(12个9)。
  • 规模自动扩展,不影响对外服务。
  • 数据自动多重冗余备份。

1.2 典型适用场景

OSS-HDFS 服务提供全面的大数据和 AI 生态支持,典型场景如下概述,相关文档请参考链接:阿里云 OSS-HDFS 服务(JindoFS 服务) 用户文档

1.2.1 Hive/Spark 离线数仓

OSS-HDFS服务原生支持文件/目录语义和操作,支持毫秒级和原子性目录 rename,在能力上对齐 HDFS,擅长和适合用于开源 Hive/Spark 离线数仓。

1.2.2 OLAP

OSS-HDFS服务提供 append、truncate、flush、pwrite 等基础文件操作,通过 JindoFuse 充分支持 POSIX,可以为 ClickHouse 这类 OLAP 场景替换本地磁盘做存/算分离方案,再借助于缓存系统进行加速,达到最佳性价比。

1.2.3 AI 训练/推理

OSS-HDFS服务提供 append、truncate、flush、pwrite 等基础文件操作,通过 JindoFuse 充分支持 POSIX,无缝对接 AI 生态和已有的 Python 训练/推理程序。

1.2.4 HBase 存/算分离

OSS-HDFS服务原生支持文件/目录语义和操作,支持 flush 操作,在能力上对齐 HDFS,可以用于替代 HDFS 做 HBase 存/算分离方案。相较于 HBase + OSS(标准 bucket)方案,HBase + OSS-HDFS服务方案不依赖 HDFS 来存放 WAL 日志,大幅简化整体方案架构。

1.2.5 实时计算

OSS-HDFS服务高效支持 flush 和 truncate 操作,可以用来无缝替代 HDFS 在 Flink 实时计算应用场景下做 sink/checkpoint 存储。

1.2.6 数据迁移

OSS-HDFS 服务作为新一代云原生数据湖存储,支持 IDC HDFS 平迁上云,保证和优化 HDFS 使用体验,同时享受弹性伸缩、按需付费的成本效益,大幅优化存储成本。JindoDistCp 工具提供高效方式支持将 HDFS 文件数据(包括文件属性等元数据)无缝迁入 OSS-HDFS 服务,并基于 HDFS Checksum 支持提供快速比对。

OSS-HDFS 服务作为 JindoFS Block 模式的服务化升级版本,提供升级方案,支持将 EMR 集群内的 JindoFS Block 模式文件元数据(存放于 header 节点上的本地 RocksDB)快速迁入 OSS-HDFS 服务 bucket,保持 OSS 上已有的 JindoFS 文件数据块不变(无须转换、迁移)。

OSS-HDFS 服务也即将支持 OSS 现有 bucket 数据快速导入,方便 OSS 用户体验使用新服务的功能和特性。

1.3 服务特性支持情况

场景特性

支持情况

Hive/Spark 数仓

原生支持文件/目录语义和操作

支持文件/目录权限

支持目录原子性/毫秒级 rename

支持 setTimes 设置时间

扩展属性(XAttrs)支持

ACL支持

本地读缓存加速

Kerberos + Ranger 认证鉴权方案

即将支持

分层存储和归档

即将支持

操作审计(audit log)

即将支持

元数据(fsimage)分析

即将支持

OSS 数据快速导入

即将支持

HDFS 替代

快照(Snapshot)支持

支持文件 flush/sync

支持文件截断 truncate

支持文件 append

Checksum 支持

HDFS 回收站自动清理

HDFS 数据加密

即将支持

POSIX 能力

文件随机写支持

truncate/append 支持

flush 支持

fallocate

即将支持

flock

即将支持

2. 使用步骤

2.1 创建内网访问OSS-HDFS服务的VPC 环境

2.1.1 创建VPC环境

登陆阿里云官网,点击“产品与服务”中的“专有网络VPC”

切换到与即将使用的OSS-HDFS 服务Bucket相同的地域后,点击“创建专有网络”

填入必要信息后点击“确定”

2.1.2 创建云服务器(ECS)

进入新建的vpc管理页面,切换到“资源管理” ,添加云服务器(ECS)

在打开的页面中点击“创建实例”

根据需要填写配置等侯提交确认

如需要访问外网,请选择分配工网IP

2.2 创建Hadoop运行环境

2.2.1 安装Java 环境

ECS创建完成后进入该实例控制台点击远程连接,进入系统

安装JDK并配置环境变量,JDK版本不低于1.8

#卸载已有jdk
rpm -qa | grep java | xargs rpm -e --nodeps 
#安装java
yum install java-1.8.0-openjdk* -y

# 配置环境变量
## 临时生效直接export;
## 当前用户生效更新到 ~/.bashrc;
## 所有用户生效更新到/etc/profile 使配置生效; 编辑完. /etc/profile使其生效
vim /etc/profile
# 添加环境变量, 如果提示当前jdk path不存在则到/usr/lib/jvm/ 寻找,java-1.8.0-openjdk 
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin

2.2.2 安装SSH

# 安装
yum install -y openssh-clients openssh-server

# 启用服务
systemctl enable sshd && systemctl start sshd

生成 SSH 密钥,并将生成的密钥添加到信任列表:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

2.2.3 安装Hadoop

# 下载
wget https://mirrors.sonic.net/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

# 解压
tar xzf hadoop-3.3.1.tar.gz

# 移动到常用位置
mv hadoop-3.3.1 /usr/local/hadoop

配置环境变量

# 临时生效直接export;
# 当前用户生效更新到 ~/.bashrc;
# 所有用户生效更新到/etc/profile 使配置生效; 编辑完. /etc/profile使其生效
vim /etc/profile

# 设置hadoop环境变量
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$PATH

# 更新hadoop配置文件中JAVA_HOME
cd $HADOOP_HOME
vim etc/hadoop/hadoop-env.sh 
# 将JAVA_HOME由原来${JAVA_HOME}换成具体路径,这样在集群环境中才不会出现问题
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

更新配置文件

更新两个文件:core-site.xml 和 hdfs-site.xml

#如果提示目录不存在,则执行. /etc/profile,使环境变量生效
cd $HADOOP_HOME/etc/hadoop

更新core-site.xml ,添加属性


    
    
     
  
     
  
     
     
      
      
      
      
       fs.defaultFS
      
      
      
      
      
      
      
       hdfs://localhost:9000
      
      
  
     
     
  
  
     
  
     
     
      
      
      
      
       hadoop.tmp.dir
      
      
      
      
      
       /opt/module/hadoop-3.3.1/data/tmp
      
      
  
     
     

    
    

更新 hdfs-site.xml,添加属性:


    
    
     
  
     
  
     
     
      
      
      
      
       dfs.replication
      
      
      
      
      
       1
      
      
  
     
     

    
    

格式化文件结构

hdfs namenode -format

启动HDFS

然后启动 HDFS, 启动分三个步骤,分别启动 NameNode、DataNode 和 Secondary NameNode。

cd /usr/local/hadoop/

# 启动
sbin/start-dfs.sh

# 查看进程
jps

到此为止,HDFS 守护进程已经建立,由于 HDFS 本身具备 HTTP 面板,我们可以通过浏览器访问http://172.17.0.4:9870/来查看 HDFS 面板以及详细信息:

2.2.4 Hadoop测试

执行hadoop version命令,如能正常返回version信息表示安装成功

运行一个hadoop 官方示例 - 单词次数计算

#  /hello 为输入目录; /hi 为输出目录,必须不存在
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /hello /hi

2.2.5 HDFS 测试

命令

适用范围

hadoop fs

使用范围最广,对象:可任何对象

hadoop dfs

只HDFS文件系统相关

hdfs fs

只HDFS文件系统相关(包括与Local FS间的操作),已经Deprecated

hdfs dfs

只HDFS文件系统相关,常用

示例

# 显示根目录 / 下的文件和子目录,绝对路径
hadoop fs -ls -R /

# 新建文件夹,绝对路径
hadoop fs -mkdir /hello

# 上传文件
hadoop fs -put hello.txt /hello/

# 下载文件
hadoop fs -get /hello/hello.txt

# 输出文件内容
hadoop fs -cat /hello/hello.txt

2.3 切换本地HDFS到云上OSS-HDFS服务

2.3.1 创建OSS Bucket并开通HDFS服务

  1. 联系 技术支持 申请试用,使用注意:
  1. 目前支持华东1(杭州)、华东2(上海)、华南1(深圳)和华北2(北京)地域支持开启HDFS服务。
  2. HDFS服务开启后不支持关闭,请谨慎操作。
  3. 归档以及冷归档存储类型Bucket不支持开启HDFS服务。
  1. 登录 OSS管理控制台
  2. 单击Bucket列表,然后单击创建Bucket。
  3. 在创建Bucket面板中,切换到支持HDFS服务地域,选择开通HDFS服务
  4. 单击确定。

2.3.2 授权访问

  1. 授权服务端管理已开通HDFS服务的Bucket。首次使用HDFS功能时,需要先在RAM控制台完成以下授权,以便OSS服务账号能够管理Bucket中的数据。
  1. 创建名为 AliyunOSSDlsDefaultRole 的角色。
  1. 登录 RAM控制台
    1. 在左侧导航栏,选择身份管理 > 角色。
    2. 单击创建角色,选择可信实体类型为阿里云服务,单击下一步。
    3. 角色类型选择普通服务角色,角色名称填写为 AliyunOSSDlsDefaultRole ,选择受信服务为对象存储。
    4. 单击完成。角色创建完成后,单击关闭。
  1. 新建名为AliyunOSSDlsRolePolicy的自定义权限策略。
  1. 在左侧导航栏,选择权限管理 > 权限策略。
    1. 单击创建权限策略。
    2. 在新建自定义权限策略页面,填写策略名称为AliyunOSSDlsRolePolicy,配置模式选择脚本配置,并在策略内容中填写以下权限策略。
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "oss:ListObjects",
      "Resource": [
        "acs:oss:*:*:*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "oss:*",
      "Resource": [
        "acs:oss:*:*:*/.dlsdata",
        "acs:oss:*:*:*/.dlsdata*"
      ]
    }
  ]
}

  1. 单击确定。
  1. 为角色授予自定义权限策略。
  1. 在左侧导航栏,选择身份管理 > 角色。
    1. 单击RAM角色 AliyunOSSDlsDefaultRole 右侧的精确授权。
    2. 在添加权限页面,选择权限类型为自定义策略,输入已创建的自定义权限策略名称AliyunOSSDlsRolePolicy。
    3. 单击确定。
  1. 授权RAM用户访问已开通HDFS服务的Bucket。如果您使用服务角色(例如EMR服务角色AliyunEMRDefaultRole)访问已开通HDFS服务的Bucket,请参见上述为RAM用户授权的步骤完成服务角色授权。
  1. 创建RAM用户。具体操作,请参见 创建RAM用户
  2. 创建自定义策略,策略内容如下:
{
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "oss:*",
            "Resource": [
                "acs:oss:*:*:*/.dlsdata",
                "acs:oss:*:*:*/.dlsdata*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "oss:GetBucketInfo",
                "oss:PostDataLakeStorageFileOperation"
            ],
            "Resource": "*"
        }
    ],
    "Version": "1"
}

创建自定义策略的具体操作,请参见创建自定义权限策略

  1. 为RAM用户授权已创建的自定义策略。具体步骤,请参见 为RAM用户授权

2.3.3 下载JindoSDK并配置

下载最新的 tar.gz 包 jindosdk-x.x.x.tar.gz (下载页面)。

# 切换到目标目录
cd /usr/lib/

# 下载jdk 包
wget https://jindodata-binary.oss-cn-shanghai.aliyuncs.com/release/4.1.0/jindosdk-4.1.0.tar.gz

# 解压
tar xzf jindosdk-4.1.0.tar.gz 

配置环境变量

# 切换到目标目录
vim /etc/profile

# 文件末尾添加配置后保存
export JINDOSDK_HOME=/usr/lib/jindosdk-4.1.0
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*

# 使配置生效
. /etc/profile

配置 OSS-HDFS 服务实现类及 Access Key,基本配置方式如下,除此之外JindoSDK还支持更多的 AccessKey 的配置方式,详情参考 JindoSDK Credential Provider 配置

cd $HADOOP_HOME/etc/hadoop

将 JindoSDK OSS 实现类配置到 Hadoop 的core-site.xml中。


    
    
     
    
     
     
      
        
      
      
       fs.AbstractFileSystem.oss.impl
      
      
        
      
      
       com.aliyun.jindodata.oss.JindoOSS
      
      
    
     
     

    
     
     
      
        
      
      
       fs.oss.impl
      
      
        
      
      
       com.aliyun.jindodata.oss.JindoOssFileSystem
      
      
    
     
     

    
    

将已开启 HDFS 服务的 Bucket 对应的Access Key IDAccess Key Secret等预先配置在 Hadoop 的core-site.xml中。


    
    
     
    
     
     
      
        
      
      
       fs.oss.accessKeyId
      
      
        
      
      
       xxxx
      
      
    
     
     

    
     
     
      
        
      
      
       fs.oss.accessKeySecret
      
      
        
      
      
       xxxx
      
      
    
     
     

    
    

2.3.4 配置 OSS-HDFS 服务 Endpoint

访问 OSS Bucket 上 OSS-HDFS服务需要配置 Endpoint(cn-xxx.oss-dls.aliyuncs.com),与 OSS 对象接口的 Endpoint(oss-cn-xxx.aliyuncs.com)不同。JindoSDK 会根据配置的 Endpoint 访问 JindoFS 服务 或 OSS 对象接口。

使用 JindoFS 服务时,推荐访问路径格式为:

oss:// . /

如: oss://dls-chenshi-test.cn-shanghai.oss-dls.aliyuncs.com/Test

这种方式在访问路径中包含 OSS-HDFS 服务的 Endpoint,JindoSDK 会根据路径中的 Endpoint 访问对应的 OSS-HDFS 服务接口。 JindoSDK 还支持更多的 Endpoint 配置方式,详情参考JindoFS 服务 Endpoint 配置

2.3.5 开始使用

新建目录

在JindoFS服务上创建目录 用例: hdfs dfs -mkdir oss:// . /Test/subdir

hdfs dfs -mkdir oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/Test

新建文件

利用hdfs dfs -put命令上传本地文件到JindoFS服务

用例:hdfs dfs -put   oss:// . /Test

hdfs dfs -put /root/workspace/hello.txt oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/Test

查看文件或者目录信息

在文件或者目录创建完之后,可以查看指定路径下的文件/目录信息。hdfs dfs没有进入某个目录下的概念。在查看目录和文件的信息的时候需要给出文件/目录的绝对路径。 指令:ls 用例:hdfs dfs -ls oss:// . /Test

hdfs dfs -ls /root/workspace/hello.txt oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/Test

查看文件的内容

有时候我们需要查看一下在JindoFS服务文件的内容。hdfs dfs命令支持我们将文件内容打印在屏幕上。(请注意,文件内容将会以纯文本形式打印出来,如果文件进行了特定格式的编码,请使用HDFS的JavaAPI将文件内容读取并进行相应的解码获取文件内容) 用例:hdfs dfs -cat oss:// . /Test/helloworld.txt

hdfs dfs -cat /root/workspace/hello.txt oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/Test/hello.txt

复制目录/文件

有时候我们需要将JindoFS服务的一个文件/目录拷贝到另一个位置,并且保持源文件和目录结构和内容不变。 用例:hdfs dfs -cp oss:// . /Test/subdir oss:// . /TestTarget/sudir2

移动目录/文件

在很多大数据处理的例子中,我们会将文件写入一个临时目录,然后将该目录移动到另一个位置作为最终结果。源文件和目录结构和内容不做保留。下面的命令可以完成这些操作。 用例:hdfs dfs -mv oss:// . /Test/subdir oss:// . /Test/subdir1

下载文件到本地文件系统

某些情况下,我们需要将OSS文件系统中的某些文件下载到本地,再进行处理或者查看内容。这个可以用下面的命令完成。 用例:hdfs dfs -get oss:// . /Test/helloworld.txt 

删除目录/文件

在很多情况下,我们在完成工作后,需要删除在JindoFS服务上的某些临时文件或者废弃文件。这些可以通过下面的命令完成。 用例:hdfs dfs -rm oss:// . /Test/helloworld.txt

参考事例

'''
使用方式:拷贝本脚本到VPC内ECS中目录/root/workspace, 然后执行sh test_hdfs.sh,查看结果是否报错
'''
echo -e "\n\n创建目录lz-test...."
hdfs dfs -mkdir oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/lz-test

echo -e "\n\n查看根目录...."
hdfs dfs -ls oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/

echo -e "\n\n上传文件test.txt...."
echo "hello jack" >> test.txt
hdfs dfs -put test.txt oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/lz-test/test.txt

echo -e "\n\n删除本地测试文件test.txt...."
rm test.txt

echo -e "\n\n查看上传到bucket的文件内容...."
hdfs dfs -cat oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/lz-test/test.txt

echo -e "\n\n下载文件到本地...."
hdfs dfs -get oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/lz-test/test.txt

echo -e "\n\n查看下载到本地的文件内容...."
cat test.txt

echo -e "\n\n删除本地测试文件...."
rm test.txt

echo -e "\n\n删除测试目录lz-test...."
hdfs dfs -rm -R oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/lz-test

echo -e "\n\n查看根目录与子目录...."
hdfs dfs -ls -R oss://luanzhi-hdfs-test-hz.cn-hangzhou.oss-dls.aliyuncs.com/

3. 更多参考

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
147 6
|
1月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
60 3
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
38 4
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
88 3
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
43 2
|
1月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
54 2
|
1月前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
33 2
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
82 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
37 0
|
1月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
46 0

热门文章

最新文章