Repository: spark
Updated Branches:
refs/heads/master 49bea5a7e -> 0ad93b093
[SPARK-25883][SQL][MINOR] Override method `prettyName` in `from_avro`/`to_avro`
## What changes were proposed in this pull request?
Previously in from_avro/to_avro, we override the method `simpleString` and
`sql` for the string output. However, the override only affects the alias
naming:
```
Project [from_avro('col,
...
, (mode,PERMISSIVE)) AS from_avro(col, struct<col1:bigint,col2:double>,
Map(mode -> PERMISSIVE))#11]
```
It only makes the alias name quite long: `from_avro(col,
struct<col1:bigint,col2:double>, Map(mode -> PERMISSIVE))`).
We should follow `from_csv`/`from_json` here, to override the method prettyName
only, and we will get a clean alias name
```
... AS from_avro(col)#11
```
## How was this patch tested?
Manual check
Closes #22890 from gengliangwang/revise_from_to_avro.
Authored-by: Gengliang Wang <[email protected]>
Signed-off-by: gatorsmile <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/0ad93b09
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/0ad93b09
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/0ad93b09
Branch: refs/heads/master
Commit: 0ad93b0931683a58d4372a934656b5c2dbe9300a
Parents: 49bea5a
Author: Gengliang Wang <[email protected]>
Authored: Tue Oct 30 23:59:37 2018 -0700
Committer: gatorsmile <[email protected]>
Committed: Tue Oct 30 23:59:37 2018 -0700
----------------------------------------------------------------------
.../scala/org/apache/spark/sql/avro/AvroDataToCatalyst.scala | 8 +-------
.../scala/org/apache/spark/sql/avro/CatalystDataToAvro.scala | 8 +-------
2 files changed, 2 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/spark/blob/0ad93b09/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDataToCatalyst.scala
----------------------------------------------------------------------
diff --git
a/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDataToCatalyst.scala
b/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDataToCatalyst.scala
index 43d3f6e..ae61587 100644
---
a/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDataToCatalyst.scala
+++
b/external/avro/src/main/scala/org/apache/spark/sql/avro/AvroDataToCatalyst.scala
@@ -109,13 +109,7 @@ case class AvroDataToCatalyst(
}
}
- override def simpleString: String = {
- s"from_avro(${child.sql}, ${dataType.simpleString}, ${options.toString()})"
- }
-
- override def sql: String = {
- s"from_avro(${child.sql}, ${dataType.catalogString},
${options.toString()})"
- }
+ override def prettyName: String = "from_avro"
override protected def doGenCode(ctx: CodegenContext, ev: ExprCode):
ExprCode = {
val expr = ctx.addReferenceObj("this", this)
http://git-wip-us.apache.org/repos/asf/spark/blob/0ad93b09/external/avro/src/main/scala/org/apache/spark/sql/avro/CatalystDataToAvro.scala
----------------------------------------------------------------------
diff --git
a/external/avro/src/main/scala/org/apache/spark/sql/avro/CatalystDataToAvro.scala
b/external/avro/src/main/scala/org/apache/spark/sql/avro/CatalystDataToAvro.scala
index 141ff37..6ed330d 100644
---
a/external/avro/src/main/scala/org/apache/spark/sql/avro/CatalystDataToAvro.scala
+++
b/external/avro/src/main/scala/org/apache/spark/sql/avro/CatalystDataToAvro.scala
@@ -52,13 +52,7 @@ case class CatalystDataToAvro(child: Expression) extends
UnaryExpression {
out.toByteArray
}
- override def simpleString: String = {
- s"to_avro(${child.sql}, ${child.dataType.simpleString})"
- }
-
- override def sql: String = {
- s"to_avro(${child.sql}, ${child.dataType.catalogString})"
- }
+ override def prettyName: String = "to_avro"
override protected def doGenCode(ctx: CodegenContext, ev: ExprCode):
ExprCode = {
val expr = ctx.addReferenceObj("this", this)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]