Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Tables implementations to override table paths. #1

Merged
merged 1 commit into from
Nov 26, 2018

Conversation

rdblue
Copy link
Contributor

@rdblue rdblue commented Nov 20, 2018

Hive databases can have set locations where tables get created. Iceberg should use these locations, so the metastore tables implementation should allow overriding the table location.

@rdblue rdblue closed this Nov 20, 2018
@rdblue rdblue reopened this Nov 20, 2018
@danielcweeks
Copy link
Contributor

+1

@rdblue rdblue merged commit c47b59e into apache:master Nov 26, 2018
puchengy added a commit to puchengy/iceberg that referenced this pull request Dec 3, 2021
…ase-0.12.1

Release iceberg python module as py-iceberg
CodingCat referenced this pull request in CodingCat/iceberg Dec 22, 2021
CodingCat referenced this pull request in CodingCat/iceberg Dec 22, 2021
danielcweeks pushed a commit that referenced this pull request Jan 14, 2023
…flake-managed Iceberg tables (#6428)

* Initial read-only Snowflake Catalog implementation by @sfc-gh-mparmar (#1)

Initial read-only Snowflake Catalog implementation built on top of the Snowflake JDBC driver,
providing support for basic listing of namespaces, listing of tables, and loading/reads of tables.

Auth options are passthrough to the JDBC driver.

Co-authored-by: Maninder Parmar <maninder.parmar@snowflake.com>
Co-authored-by: Maninder Parmar <maninder.parmar+oss@snowflake.com>
Co-authored-by: Dennis Huo <dennis.huo+oss@snowflake.com>

* Add JdbcSnowflakeClientTest using mocks (#2)

Add JdbcSnowflakeClientTest using mocks; provides full coverage of JdbcSnowflakeClient
and entities' ResultSetHandler logic.

Also update target Spark runtime versions to be included.

* Add test { useJUnitPlatform() } tuple to iceberg-snowflake for
consistency and future interoperability with inheriting from abstact
unittest base classes.

* Extract versions into versions.props per PR review

* Misc test-related refactors per review suggestions
-Convert unittests to all use assertj/Assertions for "fluent assertions"
-Refactor test injection into overloaded initialize() method
-Add test cases for close() propagation
-Use CloseableGroup.

* Fix unsupported behaviors of loadNamedpaceMetadata and defaultWarehouseLocation

* Move TableIdentifier checks out of newTableOps into the
SnowflakTableOperations class itself, add test case.

* Refactor out any Namespace-related business logic from the lower
SnowflakeClient/JdbcSnowflakeClient layers and merge SnowflakeTable
and SnowflakeSchema into a single SnowflakeIdentifier that also
encompasses ROOT and DATABASE level identifiers.

A SnowflakeIdentifier thus functions like a type-checked/constrained
Iceberg TableIdentifier, and eliminates any tight coupling between
a SnowflakeClient and Catalog business logic.

Parsing of Namespace numerical levels into a SnowflakeIdentifier
is now fully encapsulated in NamespaceHelpers so that callsites
don't duplicate namespace-handling/validation logic.

* Finish migrating JdbcSnowflakeClientTest off any usage of org.junit.Assert
in favor of assertj's Assertions.

* Style refactorings from review comments, expanded and moved InMemoryFileIO into core
with its own unittest.

* Fix behavior of getNamespaceMetadata to throw when the namespace doesn't
exist.

Refactor for naming conventions and consolidating identifier
handling into NamespaceHandlers.

Make FileIO instantiated fresh for each newTableOps call.

* Move private constructor to top, add assertion to test case.

* Define minimal ResultSetParser/QueryHarness classes to fully replace
any use of commons-dbutils; refactor ResultSet handling fully into
JdbcSnowflakeClient.java.

* Update snowflake/src/main/java/org/apache/iceberg/snowflake/SnowflakeTableOperations.java

Co-authored-by: Eduard Tudenhöfner <etudenhoefner@gmail.com>

* Refactor style suggestions; remove debug-level logging, arguments in exceptions,
private members if not accessed outside, move precondition checks, add test for
NamespaceHelpers.

* Fix precondition messages, remove getConf()

* Clean up varargs.

* Make data members final, include rawJsonVal in toString for debuggability.

* Combine some small test cases into roundtrip test cases, misc cleanup

* Add comment for why a factory class is exposed for testing purposes.

Co-authored-by: Dennis Huo <dennis.huo@snowflake.com>
Co-authored-by: Maninder Parmar <maninder.parmar@snowflake.com>
Co-authored-by: Maninder Parmar <maninder.parmar+oss@snowflake.com>
Co-authored-by: Eduard Tudenhöfner <etudenhoefner@gmail.com>
adamyasharma2797 pushed a commit to adamyasharma2797/iceberg that referenced this pull request Jul 19, 2024
* file writer changes

* test cases fixed

* added more test cases

* added more test cases

* file committer changes

* committer all changes

* committer all changes

* removed duplicate code

* UT fixes + Added UT for empty commit

* bug fixes + UT of initialize, process, snapshot and notify

* Shifted from Table name to Table Identifier

* bug fix

* added table map and bug fixes and few more test cases

* added 2 more UTs

* PR feedbacks

* added more UTs

* added more UTs

* flink sink interface changes

* build failure fixes + linting fixes

* integration testing fixes

* removed std out

* map for partition spec

* added integration tests

* replaced with project version file

* removed println
@adutra adutra mentioned this pull request Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants