Diff
checker
文本
文本
图像
文档
Excel
文件夹
Legal
Enterprise
桌面版
定价
登录
下载 Diffchecker 桌面版
比较文本
查找两个文本文件之间的差异
工具
历史
显示
视图
拆分
统一
实时编辑器
隐藏空白更改
折叠未更改行
关闭换行
比对精度
智能
语法
无
更改外观
处理
忽略
文本转换
转到第一个差异
编辑输入
Diffchecker Desktop
运行Diffchecker最安全的方式。获取Diffchecker桌面应用:您的差异永远不会离开您的电脑!
获取桌面版
正在加载此比较的其余部分。
datafusion #4873
创建于
4年前
差异永不过期
清除
导出
分享
解释
6 删除
行
总计
删除
字符
总计
删除
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
524 行
全部复制
6 添加
行
总计
添加
字符
总计
添加
要继续使用此功能,请升级到
Diff
checker
Pro
查看价格
524 行
全部复制
ProjectionExec {
ProjectionExec {
expr: [
expr: [
(
(
Column {
Column {
name: "col1",
name: "col1",
index: 1,
index: 1,
},
},
"col1",
"col1",
),
),
(
(
Column {
Column {
name: "col2",
name: "col2",
index: 0,
index: 0,
},
},
"col2",
"col2",
),
),
(
(
ScalarFunctionExpr {
ScalarFunctionExpr {
fun: "<FUNC>",
fun: "<FUNC>",
name: "coalesce",
name: "coalesce",
args: [
args: [
CastExpr {
CastExpr {
expr: Column {
expr: Column {
name: "sum_col3",
name: "sum_col3",
index: 4,
index: 4,
},
},
cast_type: Float32,
cast_type: Float32,
cast_options: CastOptions {
cast_options: CastOptions {
safe: false,
safe: false,
},
},
},
},
Literal {
Literal {
value: Float32(0),
value: Float32(0),
},
},
],
],
return_type: Float32,
return_type: Float32,
},
},
"sum_col3",
"sum_col3",
),
),
],
],
schema: Schema {
schema: Schema {
fields: [
fields: [
Field {
Field {
name: "col1",
name: "col1",
data_type: Utf8,
data_type: Utf8,
nullable: true,
nullable: true,
dict_id: 0,
dict_id: 0,
dict_is_ordered: false,
dict_is_ordered: false,
metadata: {},
metadata: {},
},
},
Field {
Field {
name: "col2",
name: "col2",
data_type: UInt64,
data_type: UInt64,
nullable: true,
nullable: true,
dict_id: 0,
dict_id: 0,
dict_is_ordered: false,
dict_is_ordered: false,
metadata: {},
metadata: {},
},
},
Field {
Field {
name: "sum_col3",
name: "sum_col3",
data_type: Float32,
data_type: Float32,
nullable: true,
nullable: true,
dict_id: 0,
dict_id: 0,
dict_is_ordered: false,
dict_is_ordered: false,
metadata: {},
metadata: {},
},
},
],
],
metadata: {},
metadata: {},
},
},
input: CoalesceBatchesExec {
input: CoalesceBatchesExec {
input: HashJoinExec {
input: HashJoinExec {
left: CoalesceBatchesExec {
left: CoalesceBatchesExec {
input: RepartitionExec {
input: RepartitionExec {
input: CrossJoinExec {
input: CrossJoinExec {
left: CoalescePartitionsExec {
left: CoalescePartitionsExec {
input: AggregateExec {
input: AggregateExec {
mode: FinalPartitioned,
mode: FinalPartitioned,
group_by: PhysicalGroupBy {
group_by: PhysicalGroupBy {
expr: [
expr: [
(
(
Column {
Column {
name: "col2",
name: "col2",
index: 0,
index: 0,
},
},
"col2",
"col2",
),
),
],
],
null_expr: [],
null_expr: [],
groups: [
groups: [
[
[
false,
false,
],
],
],
],
},
},
aggr_expr: [],
aggr_expr: [],
input: CoalesceBatchesExec {
input: CoalesceBatchesExec {
input: RepartitionExec {
input: RepartitionExec {
input: AggregateExec {
input: AggregateExec {
mode: Partial,
mode: Partial,
group_by: PhysicalGroupBy {
group_by: PhysicalGroupBy {
已保存差异
原始文本
打开文件
ProjectionExec { expr: [ ( Column { name: "col1", index: 1, }, "col1", ), ( Column { name: "col2", index: 0, }, "col2", ), ( ScalarFunctionExpr { fun: "<FUNC>", name: "coalesce", args: [ CastExpr { expr: Column { name: "sum_col3", index: 4, }, cast_type: Float32, cast_options: CastOptions { safe: false, }, }, Literal { value: Float32(0), }, ], return_type: Float32, }, "sum_col3", ), ], schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "sum_col3", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input: CoalesceBatchesExec { input: HashJoinExec { left: CoalesceBatchesExec { input: RepartitionExec { input: CrossJoinExec { left: CoalescePartitionsExec { input: AggregateExec { mode: FinalPartitioned, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col2", index: 0, }, "col2", ), ], null_expr: [], groups: [ [ false, ], ], }, aggr_expr: [], input: CoalesceBatchesExec { input: RepartitionExec { input: AggregateExec { mode: Partial, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col2", index: 0, }, "col2", ), ], null_expr: [], groups: [ [ false, ], ], }, aggr_expr: [], input: RepartitionExec { input: partitions: [...]schema: Schema { fields: [Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }], metadata: {} }projection: Some([1]), partitioning: RoundRobinBatch( 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, partitioning: Hash( [ Column { name: "col2", index: 0, }, ], 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, right: AggregateExec { mode: FinalPartitioned, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col1", index: 0, }, "col1", ), ], null_expr: [], groups: [ [ false, ], ], }, aggr_expr: [], input: CoalesceBatchesExec { input: RepartitionExec { input: AggregateExec { mode: Partial, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col1", index: 0, }, "col1", ), ], null_expr: [], groups: [ [ false, ], ], }, aggr_expr: [], input: RepartitionExec { input: partitions: [...]schema: Schema { fields: [Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }], metadata: {} }projection: Some([0]), partitioning: RoundRobinBatch( 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, partitioning: Hash( [ Column { name: "col1", index: 0, }, ], 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, left_fut: OnceAsync, }, partitioning: Hash( [ Column { name: "col1", index: 1, }, Column { name: "col2", index: 0, }, ], 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, right: ProjectionExec { expr: [ ( Column { name: "col1", index: 0, }, "col1", ), ( Column { name: "col2", index: 1, }, "col2", ), ( Column { name: "SUM(tbl.col3)", index: 2, }, "sum_col3", ), ], schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "sum_col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input: AggregateExec { mode: FinalPartitioned, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col1", index: 0, }, "col1", ), ( Column { name: "col2", index: 1, }, "col2", ), ], null_expr: [], groups: [ [ false, false, ], ], }, aggr_expr: [ Sum { name: "SUM(tbl.col3)", data_type: UInt64, expr: Column { name: "col3", index: 2, }, nullable: true, }, ], input: CoalesceBatchesExec { input: RepartitionExec { input: AggregateExec { mode: Partial, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col1", index: 0, }, "col1", ), ( Column { name: "col2", index: 1, }, "col2", ), ], null_expr: [], groups: [ [ false, false, ], ], }, aggr_expr: [ Sum { name: "SUM(tbl.col3)", data_type: UInt64, expr: Column { name: "col3", index: 2, }, nullable: true, }, ], input: RepartitionExec { input: partitions: [...]schema: Schema { fields: [Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }], metadata: {} }projection: Some([0, 1, 2]), partitioning: RoundRobinBatch( 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "SUM(tbl.col3)[sum]", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "SUM(tbl.col3)[count]", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, partitioning: Hash( [ Column { name: "col1", index: 0, }, Column { name: "col2", index: 1, }, ], 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "SUM(tbl.col3)", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, output_ordering: None, alias_map: { Column { name: "SUM(tbl.col3)", index: 2, }: [ Column { name: "sum_col3", index: 2, }, ], }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, on: [ ( Column { name: "col1", index: 1, }, Column { name: "col1", index: 0, }, ), ( Column { name: "col2", index: 0, }, Column { name: "col2", index: 1, }, ), ], filter: None, join_type: Left, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "sum_col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, left_fut: OnceAsync, random_state: RandomState { .. }, mode: Partitioned, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, column_indices: [ ColumnIndex { index: 0, side: Left, }, ColumnIndex { index: 1, side: Left, }, ColumnIndex { index: 0, side: Right, }, ColumnIndex { index: 1, side: Right, }, ColumnIndex { index: 2, side: Right, }, ], null_equals_null: false, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, output_ordering: None, alias_map: { Column { name: "col1", index: 1, }: [ Column { name: "col1", index: 0, }, ], Column { name: "col2", index: 0, }: [ Column { name: "col2", index: 1, }, ], }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }
更改后文本
打开文件
ProjectionExec { expr: [ ( Column { name: "col1", index: 1, }, "col1", ), ( Column { name: "col2", index: 0, }, "col2", ), ( ScalarFunctionExpr { fun: "<FUNC>", name: "coalesce", args: [ CastExpr { expr: Column { name: "sum_col3", index: 4, }, cast_type: Float32, cast_options: CastOptions { safe: false, }, }, Literal { value: Float32(0), }, ], return_type: Float32, }, "sum_col3", ), ], schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "sum_col3", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input: CoalesceBatchesExec { input: HashJoinExec { left: CoalesceBatchesExec { input: RepartitionExec { input: CrossJoinExec { left: CoalescePartitionsExec { input: AggregateExec { mode: FinalPartitioned, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col2", index: 0, }, "col2", ), ], null_expr: [], groups: [ [ false, ], ], }, aggr_expr: [], input: CoalesceBatchesExec { input: RepartitionExec { input: AggregateExec { mode: Partial, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col2", index: 0, }, "col2", ), ], null_expr: [], groups: [ [ false, ], ], }, aggr_expr: [], input: RepartitionExec { input: partitions: [...]schema: Schema { fields: [Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }], metadata: {} }projection: Some([1]), partitioning: RoundRobinBatch( 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, partitioning: Hash( [ Column { name: "col2", index: 0, }, ], 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, right: AggregateExec { mode: FinalPartitioned, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col1", index: 0, }, "col1", ), ], null_expr: [], groups: [ [ false, ], ], }, aggr_expr: [], input: CoalesceBatchesExec { input: RepartitionExec { input: AggregateExec { mode: Partial, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col1", index: 0, }, "col1", ), ], null_expr: [], groups: [ [ false, ], ], }, aggr_expr: [], input: RepartitionExec { input: partitions: [...]schema: Schema { fields: [Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }], metadata: {} }projection: Some([0]), partitioning: RoundRobinBatch( 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, partitioning: Hash( [ Column { name: "col1", index: 0, }, ], 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: {}, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, left_fut: OnceAsync, }, partitioning: Hash( [ Column { name: "col2", index: 0, }, Column { name: "col1", index: 1, }, ], 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, right: ProjectionExec { expr: [ ( Column { name: "col1", index: 0, }, "col1", ), ( Column { name: "col2", index: 1, }, "col2", ), ( Column { name: "SUM(tbl.col3)", index: 2, }, "sum_col3", ), ], schema: Schema { fields: [ Field { name: "col1", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "sum_col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input: ProjectionExec { expr: [ ( Column { name: "col1", index: 1, }, "col1", ), ( Column { name: "col2", index: 0, }, "col2", ), ( Column { name: "SUM(tbl.col3)", index: 2, }, "SUM(tbl.col3)", ), ], schema: Schema { fields: [ Field { name: "col1", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "SUM(tbl.col3)", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input: AggregateExec { mode: FinalPartitioned, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col2", index: 1, }, "col2", ), ( Column { name: "col1", index: 0, }, "col1", ), ], null_expr: [], groups: [ [ false, false, ], ], }, aggr_expr: [ Sum { name: "SUM(tbl.col3)", data_type: UInt64, expr: Column { name: "col3", index: 2, }, nullable: true, }, ], input: CoalesceBatchesExec { input: RepartitionExec { input: AggregateExec { mode: Partial, group_by: PhysicalGroupBy { expr: [ ( Column { name: "col2", index: 1, }, "col2", ), ( Column { name: "col1", index: 0, }, "col1", ), ], null_expr: [], groups: [ [ false, false, ], ], }, aggr_expr: [ Sum { name: "SUM(tbl.col3)", data_type: UInt64, expr: Column { name: "col3", index: 2, }, nullable: true, }, ], input: RepartitionExec { input: partitions: [...]schema: Schema { fields: [Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }], metadata: {} }projection: Some([0, 1, 2]), partitioning: RoundRobinBatch( 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "SUM(tbl.col3)[sum]", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "SUM(tbl.col3)[count]", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: { Column { name: "col2", index: 1, }: [ Column { name: "col2", index: 0, }, ], Column { name: "col1", index: 0, }: [ Column { name: "col1", index: 1, }, ], }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, partitioning: Hash( [ Column { name: "col2", index: 0, }, Column { name: "col1", index: 1, }, ], 10, ), state: Mutex { data: RepartitionExecState { channels: {}, abort_helper: AbortOnDropMany( [], ), }, }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, schema: Schema { fields: [ Field { name: "col2", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col1", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "SUM(tbl.col3)", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, input_schema: Schema { fields: [ Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, alias_map: { Column { name: "col2", index: 1, }: [ Column { name: "col2", index: 0, }, ], Column { name: "col1", index: 0, }: [ Column { name: "col1", index: 1, }, ], }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, output_ordering: None, alias_map: { Column { name: "col1", index: 1, }: [ Column { name: "col1", index: 0, }, ], Column { name: "col2", index: 0, }: [ Column { name: "col2", index: 1, }, ], }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, output_ordering: None, alias_map: { Column { name: "SUM(tbl.col3)", index: 2, }: [ Column { name: "sum_col3", index: 2, }, ], }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, on: [ ( Column { name: "col2", index: 0, }, Column { name: "col2", index: 1, }, ), ( Column { name: "col1", index: 1, }, Column { name: "col1", index: 0, }, ), ], filter: None, join_type: Left, schema: Schema { fields: [ Field { name: "col2", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col1", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col1", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "col2", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, Field { name: "sum_col3", data_type: UInt64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {}, }, ], metadata: {}, }, left_fut: OnceAsync, random_state: RandomState { .. }, mode: Partitioned, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, column_indices: [ ColumnIndex { index: 0, side: Left, }, ColumnIndex { index: 1, side: Left, }, ColumnIndex { index: 0, side: Right, }, ColumnIndex { index: 1, side: Right, }, ColumnIndex { index: 2, side: Right, }, ], null_equals_null: false, }, target_batch_size: 8192, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }, output_ordering: None, alias_map: { Column { name: "col1", index: 1, }: [ Column { name: "col1", index: 0, }, ], Column { name: "col2", index: 0, }: [ Column { name: "col2", index: 1, }, ], }, metrics: ExecutionPlanMetricsSet { inner: Mutex { data: MetricsSet { metrics: [], }, }, }, }
查找差异