Github user seancxmao commented on a diff in the pull request:
https://github.com/apache/spark/pull/23238#discussion_r239752238
--- Diff: docs/sql-migration-guide-upgrade.md ---
@@ -141,6 +141,8 @@ displayTitle: Spark SQL Upgrading Guide
- In Spark version 2.3 and earlier, HAVING without GROUP BY is treated
as WHERE. This means, `SELECT 1 FROM range(10) HAVING true` is executed as
`SELECT 1 FROM range(10) WHERE true` and returns 10 rows. This violates SQL
standard, and has been fixed in Spark 2.4. Since Spark 2.4, HAVING without
GROUP BY is treated as a global aggregate, which means `SELECT 1 FROM range(10)
HAVING true` will return only one row. To restore the previous behavior, set
`spark.sql.legacy.parser.havingWithoutGroupByAsWhere` to `true`.
+ - In version 2.3 and earlier, when reading from a Parquet data source
table, Spark always returns null for any column whose column names in Hive
metastore schema and Parquet schema are in different letter cases, no matter
whether `spark.sql.caseSensitive` is set to true or false. Since 2.4, when
`spark.sql.caseSensitive` is set to false, Spark does case insensitive column
name resolution between Hive metastore schema and Parquet schema, so even
column names are in different letter cases, Spark returns corresponding column
values. An exception is thrown if there is ambiguity, i.e. more than one
Parquet column is matched. This change also applies to Parquet Hive tables when
`spark.sql.hive.convertMetastoreParquet` is set to true.
--- End diff --
@dongjoon-hyun Good suggestions. I have fixed them with a new commit.
---
-
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org