实时计算Flink > 独享模式 > Batch(试用) > 创建源表 —— 创建HDFS源表

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 本页目录 创建 HDFS 源表 什么是HDFS 读HDFS某个路径下所有CSV文件 读取HDFS某个目录下所有ORC文件示例 WITH参数 创建 HDFS 源表 什么是HDFS HDFS是Hadoop的分布式文件系统。

创建 HDFS 源表

什么是HDFS

HDFS是Hadoop的分布式文件系统。HDFS可以作为Blink Batch的源表和结果表。HDFS上可以存储各种文件类型,目前Blink支持对CSV/Parquet/ORC文件格式的解析。以CSV为例,说明hdfs source用法

DDL定义

 
  
  1. create table hdfs_source(
  2. name varchar,
  3. age BIGINT,
  4. birthday BIGINT
  5. ) with (
  6. type='csv',
  7. path='hdfs://root/stest/test.csv',
  8. lineDelimiter='\n',
  9. fieldDelimiter='|'
  10. );

读HDFS某个路径下所有CSV文件

大部分情况下,HDFS上的文件都是以表的形式保存的,表下面还有分区,例如:

 
  
  1. $hadoop fs -ls /user/hive/warehouse/xxx/table1/
  2. Found 989 items
  3. drwxrwxrwx - serving supergroup 0 2017-03-09 15:44 /user/hive/warehouse/xxx/table1/dt=20180814
  4. drwxrwxrwx - serving supergroup 0 2017-03-09 15:44 /user/hive/warehouse/xxx/table1/dt=20180815

读表table1的某个分区数据的示例代码如下:

 
  
  1. create table hdfs_source(
  2. name varchar,
  3. age BIGINT,
  4. birthday BIGINT
  5. ) with (
  6. type='csv',
  7. path='hdfs://hdfs_name/user/hive/warehouse/xxx/table1/dt=20180814',
  8. lineDelimiter='\n',
  9. fieldDelimiter='|'
  10. );
  11. create table test_sink(
  12. name varchar,
  13. age bigint,
  14. birthday bigint
  15. ) with (
  16. type='print'
  17. )
  18. insert into test_sink
  19. select
  20. name,
  21. age,
  22. birthday
  23. from hdfs_source

目前CSV文件暂不支持递归读取多级目录,只能读某个子目录下的所有文件

读取HDFS某个目录下所有ORC文件示例

HDFS上文件可存储为压缩格式orc/parquet,读取这两类文件时,可递归读取某个目录下所有文件,例如,某个表在hdfs上的保存目录如下:

 
  
  1. $hadoop fs -ls /user/hive/warehouse/xxx/table1/
  2. Found 989 items
  3. drwxrwxrwx - serving supergroup 0 2017-03-09 15:44 /user/hive/warehouse/xxx/table1/dt=20180814
  4. drwxrwxrwx - serving supergroup 0 2017-03-09 15:44 /user/hive/warehouse/xxx/table1/dt=20180815

现要读取整个表table1的所有数据,示例代码如下:

 
  
  1. create table hdfs_orc_source(
  2. name varchar,
  3. age BIGINT,
  4. birthday BIGINT
  5. ) with (
  6. type='orc',
  7. path='hdfs://hdfs_name/user/hive/warehouse/xxx/table1/dt=20180814',
  8. enumerateNestedFiles='true'
  9. );
  10. create table test_sink(
  11. name varchar,
  12. age bigint,
  13. birthday bigint
  14. ) with (
  15. type='print'
  16. )
  17. insert into test_sink
  18. select
  19. name,
  20. age,
  21. birthday
  22. from hdfs_source

enumerateNestedFiles 参数可递归

WITH参数

目前只支持tuple模式的topic

参数 注释说明 备注
type hdfs上文件类型 目前blink支持对CSV/Parquet/ORC文件格式的解析
path 文件在HDFS上路径
lineDelimiter 文件的行分隔符 默认’\n’
fileSplitMinSize 文件切分大小,控制并发 默认33554432000L
isContinuousStream 默认true
fieldDelimiter 文件的列分隔符 默认’,’
本文转自实时计算—— 创建HDFS源表
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
153 6
|
1月前
|
分布式计算 资源调度 大数据
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(一)
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(一)
53 0
|
1月前
|
分布式计算 资源调度 大数据
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(二)
大数据-110 Flink 安装部署 下载解压配置 Standalone模式启动 打包依赖(二)
69 0
|
1月前
|
资源调度 分布式计算 大数据
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
大数据-111 Flink 安装部署 YARN部署模式 FlinkYARN模式申请资源、提交任务
95 0
|
3月前
|
分布式计算 安全 Hadoop
HDFS NAMENODE 安全模式
HDFS NAMENODE 安全模式
|
3月前
|
关系型数据库 MySQL 数据处理
实时计算 Flink版产品使用问题之mini-cluster模式下,怎么指定checkpoint的时间间隔
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
62 3
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
42 4
|
1月前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
76 5
|
1月前
|
资源调度 数据可视化 大数据
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(二)
36 4
下一篇
无影云桌面