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: [], }, }, }, }
尋找差異