Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d577bc8
Init commit by copying from https://github.com/Netflix-Skunkworks/nff…
waterlx Mar 9, 2020
ca98d33
Add flink-runtime project and clean configurations and settings
waterlx Mar 20, 2020
6afefdd
Change GenericFlinkManifestFile not to return null for existing and d…
waterlx Mar 20, 2020
f850d2b
Remove Spectator from Flink sink
waterlx Apr 1, 2020
994c2ea
Remove Metacat and use Catalog interface instead
waterlx Apr 2, 2020
0322f9e
Remove S3 and AWS SDK
waterlx Apr 13, 2020
33875ba
Pass Table instance from outside of sink, but IcebergCommitter needs …
waterlx Apr 15, 2020
a98994b
Quick fix to comply with Add v2 manifest lists (#907)
waterlx Apr 20, 2020
5c565e9
Remove Avro IndexedRecord and use Iceberg Record as intermediate form…
waterlx Apr 21, 2020
bdd3402
Remove VTTS but keep all logic of watermark
waterlx Apr 26, 2020
9a62b36
Make CommitMetadataUtil to use static methods instead of singleton
waterlx Apr 27, 2020
0767c32
Clear up build.gradle and settings.gradle
waterlx Apr 27, 2020
3f9cf3a
Add accessors for timestamp, time and date in RecordPartitioner
waterlx May 2, 2020
aa965ef
Support partition on timestamp, time and date in nested type in Recor…
waterlx May 2, 2020
c4a8fd6
Fix check style issues in RecordPartitioner
waterlx May 2, 2020
0ea8f08
Simply naming of data file
waterlx May 6, 2020
2801ecb
Deprecate the usage on ManifestWriter.write() and use ManifestFiles.w…
waterlx May 9, 2020
032153a
Clear up IcebergWriter by removing redundant comments
waterlx May 9, 2020
3cc1dd9
Clear up IcebergCommitter by removing AWS region related code
waterlx May 9, 2020
1b3dc16
Rebase according to master up to the commit of 9583787e (PR # 1069). …
waterlx May 27, 2020
b737eb6
Remove un-used dependencies
waterlx May 27, 2020
ae7b693
Support Avro as data file format
waterlx May 27, 2020
d02a392
Add flink-runtime as a sub-project
waterlx May 27, 2020
cbd6456
Use shaded Guava to comply with #1068
waterlx May 28, 2020
53958cf
Update package name of DateTimeUtil to comply with #1070
waterlx Jun 3, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 102 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ buildscript {
classpath 'com.diffplug.spotless:spotless-plugin-gradle:3.14.0'
classpath 'gradle.plugin.org.inferred:gradle-processors:2.1.0'
classpath 'me.champeau.gradle:jmh-gradle-plugin:0.4.8'
classpath 'com.commercehub.gradle.plugin:gradle-avro-plugin:0.18.0'
}
}

Expand Down Expand Up @@ -137,7 +138,7 @@ project(':iceberg-bundled-guava') {

tasks.jar.dependsOn tasks.shadowJar

dependencies {
dependencies {
compileOnly('com.google.guava:guava') {
exclude group: 'com.google.code.findbugs'
// may be LGPL - use ALv2 findbugs-annotations instead
Expand Down Expand Up @@ -186,7 +187,7 @@ project(':iceberg-common') {
compile project(path: ':iceberg-bundled-guava', configuration: 'shadow')
}
}

project(':iceberg-core') {
dependencies {
compile project(':iceberg-api')
Expand Down Expand Up @@ -545,6 +546,105 @@ project(':iceberg-spark-runtime') {
}
}

project(':iceberg-flink') {
apply plugin: 'com.commercehub.gradle.plugin.avro'

dependencies {
compile project(':iceberg-data')
compile project(path: ':iceberg-data', configuration: 'testArtifacts') // TODO: to remove, for RandomGenericData
compile project(':iceberg-hive')
compile project(':iceberg-parquet')

compileOnly("org.apache.flink:flink-streaming-java_2.11") {
exclude group: 'com.esotericsoftware.kryo', module: 'kryo'
exclude group: 'com.github.scopt', module: 'scopt_2.11'
exclude group: 'com.typesafe'
exclude group: 'com.typesafe.akka'
exclude group: 'org.clapper', module: 'grizzled-slf4j_2.11'
exclude group: 'org.reactivestreams', module: 'reactive-streams'
}
compileOnly("org.apache.flink:flink-connector-filesystem_2.11")
compileOnly("org.apache.hadoop:hadoop-client") {
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
compileOnly("org.apache.hive:hive-metastore") {
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
exclude group: 'org.pentaho' // missing dependency
exclude group: 'org.apache.hbase'
exclude group: 'org.apache.logging.log4j'
exclude group: 'co.cask.tephra'
exclude group: 'com.google.code.findbugs', module: 'jsr305'
exclude group: 'org.eclipse.jetty.aggregate', module: 'jetty-all'
exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet'
exclude group: 'org.apache.parquet', module: 'parquet-hadoop-bundle'
exclude group: 'com.tdunning', module: 'json'
exclude group: 'javax.transaction', module: 'transaction-api'
exclude group: 'com.zaxxer', module: 'HikariCP'
}
}
}

// the runtime uber jar for Flink
project(':iceberg-flink-runtime') {
apply plugin: 'com.github.johnrengelman.shadow'

tasks.jar.dependsOn tasks.shadowJar

configurations {
compile {
exclude group: 'org.slf4j'
exclude group: 'org.apache.commons'
exclude group: 'commons-pool'
exclude group: 'org.xerial.snappy'
exclude group: 'javax.annotation'
exclude group: 'com.google.errorprone'
}
}

dependencies {
compile project(':iceberg-flink')
}

shadowJar {
configurations = [project.configurations.compile]

zip64 true

// include the LICENSE and NOTICE files for the shaded Jar
from(projectDir) {
include 'LICENSE'
include 'NOTICE'
}

// Relocate dependencies to avoid conflicts
relocate 'com.fasterxml', 'org.apache.iceberg.shaded.com.fasterxml'
relocate 'com.github.benmanes', 'org.apache.iceberg.shaded.com.github.benmanes'
relocate 'org.checkerframework', 'org.apache.iceberg.shaded.org.checkerframework'
relocate 'org.apache.avro', 'org.apache.iceberg.shaded.org.apache.avro'
relocate 'avro.shaded', 'org.apache.iceberg.shaded.org.apache.avro.shaded' // TODO: not used
relocate 'com.thoughtworks.paranamer', 'org.apache.iceberg.shaded.com.thoughtworks.paranamer' // TODO: not used
relocate 'org.apache.parquet', 'org.apache.iceberg.shaded.org.apache.parquet'
relocate 'shaded.parquet', 'org.apache.iceberg.shaded.org.apache.parquet.shaded' // TODO: not used
// relocate Avro's jackson dependency to share parquet-jackson locations
// TODO: not used
relocate 'org.codehaus.jackson', 'org.apache.iceberg.shaded.org.apache.parquet.shaded.org.codehaus.jackson'
relocate 'org.apache.orc', 'org.apache.iceberg.shaded.org.apache.orc' // of help when ORC is supported
relocate 'io.airlift', 'org.apache.iceberg.shaded.io.airlift' // TODO: not used
// relocate Arrow and related deps to shade Iceberg specific version
relocate 'io.netty.buffer', 'org.apache.iceberg.shaded.io.netty.buffer' // TODO: not used
relocate 'org.apache.arrow', 'org.apache.iceberg.shaded.org.apache.arrow' // TODO: not used
relocate 'com.carrotsearch', 'org.apache.iceberg.shaded.com.carrotsearch' // TODO: not used

classifier null
}

jar {
classifier = 'empty'
}
}

@Memoized
boolean isVersionFileExists() {
return file('version.txt').exists()
Expand Down
2 changes: 1 addition & 1 deletion dev/source-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ tarball=$tag.tar.gz

# be conservative and use the release hash, even though git produces the same
# archive (identical hashes) using the scm tag
git archive $release_hash --prefix $tag/ -o $tarball .baseline api arrow common core data dev gradle gradlew hive mr orc parquet pig project spark spark-runtime LICENSE NOTICE README.md build.gradle baseline.gradle deploy.gradle tasks.gradle jmh.gradle gradle.properties settings.gradle versions.lock versions.props version.txt
git archive $release_hash --prefix $tag/ -o $tarball .baseline api arrow common core data dev gradle gradlew flink flink-runtime hive mr orc parquet pig project spark spark-runtime LICENSE NOTICE README.md build.gradle baseline.gradle deploy.gradle tasks.gradle jmh.gradle gradle.properties settings.gradle versions.lock versions.props version.txt

# sign the archive
gpg --armor --output ${tarball}.asc --detach-sig $tarball
Expand Down
Loading