Skip to content

Conversation

@rzhang10
Copy link
Member

@rzhang10 rzhang10 commented Oct 11, 2022

Rebase all Linkedin specific changes on top of apache iceberg release: https://github.com/apache/iceberg/releases/tag/apache-iceberg-0.14.1

Currently all the modules (that linkedin has changes) are working (builds and passing all unit tests):

  • core
  • api
  • hivelink-core
  • orc
  • mr
  • spark-2.4
  • spark-3.1

Also adapted github CI to the check/test the modules/builds we want for LI specific uses (e.g. spark-2.4, spark-3.1) for the li-0.14.x branch.

shardulm94 and others added 30 commits September 28, 2022 08:42
… metadata (linkedin#10)

Add custom hive catalog to not override existing Hive metadata

Fail early with a proper exception if the metadata file is not existing

Simplify CustomHiveCatalog (linkedin#22)
…inkedin#23, linkedin#24, linkedin#25, linkedin#26)

- Support for non string partition columns (linkedin#24)
- Support for Hive tables without avro.schema.literal (linkedin#25)
- Hive Metadata Scan: Notify ScanEvent listeners on planning (linkedin#35)
- Hive Metadata Scan: Do not use table snapshot summary for estimating statistics (linkedin#37)
- Hive Metadata Scan: Return empty statistics (linkedin#49)
- Hive Metadata Scan: Do not throw an exception on dangling partitions; log warning message (linkedin#50)
- Hive Metadata Scan: Fix pushdown of non-partition predicates within NOT (linkedin#51)

Co-authored-by: Ratandeep Ratti <[email protected]>
Co-authored-by: Kuai Yu <[email protected]>
Co-authored-by: Walaa Eldin Moustafa <[email protected]>
… ORC files

- ORC: Support NameMapping with row-level filtering (linkedin#53)
…inkedin#38)

* Hive: Return lowercase fieldname from IcebergRecordStructField
* Hive: Determine catalog from table property
…kedin#47)

* Hive: Use Hive table location in HiveIcebergSplit
* Hive: Fix schema not passed to Serde
* Hive: Refactor tests for tables with unqualified location URI

Co-authored-by: Shardul Mahadik <[email protected]>
…sistencies (linkedin#57)

Hive Metadata Scan: Fix Hive primitive to Avro logical type conversion (linkedin#58)

Hive Metadata Scan: Fix support for Hive timestamp type (linkedin#61)

Co-authored-by: Raymond Zhang <[email protected]>
Co-authored-by: Shardul Mahadik <[email protected]>

Fix HasDuplicateLowercaseColumnNames's visit method to use a new visi… (linkedin#67)

* Fix HasDuplicateLowercaseColumnNames's visit method to use a new visitor instance every time

* Trigger CI

(cherry picked from commit b90e838)
linkedin#64)

* Stop using serdeToFileFormat to unblock formats other than Avro or Orc

* Fix style check
* Support non-string hive type partition columns in LegacyHiveTableScan

* Leverage eval against partition filter expression to filter non-string columns
* Support default value read for ORC format in spark

* Refactor common code for ReadBuilder for both non-vectorized and vectorized read

* Fix code style issue

* Add special handling of ROW_POSITION metadata column

* Add corner case check for partition field

* Use BaseDataReader.convertConstant to convert constants, and expand its functionality to support nested-type contants such as array/map/struct

* Support nested type default value for vectorized read

* Support deeply nested type default value for vectorized read
* Support reading orc complex union types

* add more tests

* support union in VectorizedSparkOrcReaders and improve tests

* support union in VectorizedSparkOrcReaders and improve tests - continued

* fix checkstyle

Co-authored-by: Wenye Zhang <[email protected]>
linkedin#81)

* Fix ORC schema visitors to support reading ORC files with deeply nested union type schema

* Added test for vectorized read
* Fix spark avro reader to read correctly structured nested data values

* Make sure field-id mapping is correctly maintained given arbitrary nested schema that contains union
* [LI] Avro: Refactor union-to-struct schema - Part 1. changes to support reading Avro
* [LI] ORC: Refactor union-to-struct schema - Part 2. changes to support reading ORC

* Change Hive type to Iceberg type conversion for union
* Support timestamp in partition types

* Address comment
…nkedin#87)

* separate class under legacy to new hiveberg module

* fix build

* remove hiveberg dependency in iceberg-spark2 module

* Revert "remove hiveberg dependency in iceberg-spark2 module"

This reverts commit 2e8b743.

* rename hiveberg module to hivelink

Co-authored-by: Wenye Zhang <[email protected]>
…s of nullable (nested) fields (linkedin#92)

* Align default value validation align with avro semantics in terms of nullable (nested) fields

* Allow setting null as default value for nested fields in record default
@rzhang10 rzhang10 changed the title Update LI-Iceberg with Apache Iceberg 0.14.1 Rebase LI-Iceberg changes on top of Apache Iceberg 0.14.1 Oct 11, 2022
@rzhang10 rzhang10 changed the title Rebase LI-Iceberg changes on top of Apache Iceberg 0.14.1 Rebase LI-Iceberg changes on top of Apache Iceberg 0.14.1 release Oct 11, 2022
Copy link

@yiqiangin yiqiangin left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.