Skip to content
This repository has been archived by the owner on Sep 18, 2023. It is now read-only.

[NSE-400] Optimize ColumnarToRow Operator in NSE. #401

Merged
merged 20 commits into from
Jul 22, 2021

Conversation

JkSelf
Copy link
Contributor

@JkSelf JkSelf commented Jul 7, 2021

What changes were proposed in this pull request?

This PR replace the ColumnarToRow operator with the ArrowColumnarToRow operator, which convert the RDD[ColumnBatch] to Arrow RecordBatch and then convert the Arrow Record Batch to Spark UnsafeRow.

How was this patch tested?

UT added
locally verified on TPC-DS

@github-actions
Copy link

github-actions bot commented Jul 7, 2021

#400

@zhouyuan
Copy link
Collaborator

zhouyuan commented Jul 8, 2021

@JkSelf clang-10 is used to check format currently

@zhouyuan zhouyuan added this to In progress in Release 1.2.0 via automation Jul 12, 2021
return out;
}

arrow::Status WriteValue(std::shared_ptr<arrow::ResizableBuffer> buffer, int64_t offset,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

template this func can help to reduce the long switch/case?

@@ -71,6 +71,9 @@ class ColumnarPluginConfig(conf: SQLConf) extends Logging {
val enableColumnarShuffledHashJoin: Boolean =
conf.getConfString("spark.oap.sql.columnar.shuffledhashjoin", "true").toBoolean && enableCpu

val enableArrowColumnarToRow: Boolean =
conf.getConfString("spark.oap.sql.columnar.columnartorow", "true").toBoolean && enableCpu
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about this make this to false and improve the performance later?

@zhouyuan
Copy link
Collaborator

@JkSelf can you take a look at the unit tests script?

grep: log-file.log: No such file or directory
grep: log-file.log: No such file or directory

@zhouyuan zhouyuan merged commit 7168359 into oap-project:master Jul 22, 2021
Release 1.2.0 automation moved this from In progress to Done Jul 22, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

None yet

3 participants