读取表
批量读取
登录后可跨设备保存划线和私人笔记登录
Spark DataSource API
hudi-spark 模块提供了 DataSource API,可用于将 Hudi 表读取为 Spark DataFrame。
时间旅行查询示例:
val tripsDF = spark.read.
option("as.of.instant", "2021-07-28 14:11:08.000").
format("hudi").
load(basePath)
tripsDF.where(tripsDF.fare > 20.0).show()Flink 批处理(快照)读取
将 read.streaming.enabled 保持其默认值 false,即可让 Flink 以快照(批处理)查询的方式读取 Hudi 表。
CREATE TABLE hudi_table (
uuid VARCHAR(20) PRIMARY KEY NOT ENFORCED,
name VARCHAR(10),
age INT,
ts TIMESTAMP(3),
`partition` VARCHAR(20)
)
PARTITIONED BY (`partition`)
WITH (
'connector' = 'hudi',
'path' = '${path}',
'table.type' = 'MERGE_ON_READ'
-- read.streaming.enabled defaults to false → batch/snapshot read
);
-- Snapshot query
SELECT * FROM hudi_table WHERE age > 25;更多 Flink 读取选项,请参阅使用 Flink。
Daft
Daft 支持使用 daft.read_hudi() 函数读取 Hudi 表。
# Read Apache Hudi table into a Daft DataFrame.
import daft
df = daft.read_hudi("some-table-uri")
df = df.where(df["foo"] > 5)
df.show()请查阅 Daft 文档中的 Hudi 集成。
评论
登录后参与评论
正在加载评论…
KnowForge