sách gpt4 ai đã đi

Đặt tên cho các toán tử Flink

In lại 作者:行者123 更新时间:2023-11-30 06:45:22 29 4
mua khóa gpt4 Nike

Tôi đang sử dụng Flink v.1.4.0.

我希望能够在 Flink UI 中命名运算符。我知道要这样做,我只需要在 DataSet hoặc DataStream 上使用 .name() 方法。例如,像这样:

DataSet flinkDataSet = ...;

flinkDataSet
.map(new SomeTransformation())
.name("Transformation A");

我想知道的是,究竟是什么定义了运算符?它是 DataSet 的/DataStream 的 key 吗?或者元素类型?我知道如果我应用一个 MapFunction 与应用该函数的元素具有相同的返回类型,运算符将保持不变,但我注意到如果我应用一个 运算符通常会改变FlatMapFunction hoặc KeyBy hoặc GroupBy 操作,当然还有应用操作。

我问这个的原因是因为我想了解 Flink DAG 在 Flink UI 中的粒度,例如我可以说出每一个转变吗?或者运算符是由正在处理的数据集/数据流的类型定义的,因此我只能命名它们?例如,这行得通吗?

flinkDataSet
.map(new SomeTransformation())
.name("Transformation A")
.map(new SomeOtherTransformation())
.name("Transformation B");

或者第一个名字会被第二个名字覆盖吗?我当然可以试验并找出答案,但我也想了解原因。

1 Câu trả lời

就我使用的 name() 函数而言,您可以使用数据流或数据集 API 进行的每个转换都是一个操作,因此在您的第二种情况下,图形将如下所示

"Transformation A" -------> "Transformation B"

但是在 Flink dashborad 上,可以将这些任务分组到同一个任务中,如下所示:

----------------------- -----------------------
| SOURCE | ---> |"Transformation A" ->| ---> More operations
----------------------- |"Transformation B" |
-----------------------

关于java - 命名 Flink 操作符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49073433/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com