diff --git a/connectors/bigtable/flink-connector-gcp-bigtable/shade-pom.xml b/connectors/bigtable/flink-connector-gcp-bigtable/shade-pom.xml
new file mode 100644
index 0000000..d67422d
--- /dev/null
+++ b/connectors/bigtable/flink-connector-gcp-bigtable/shade-pom.xml
@@ -0,0 +1,153 @@
+
+
+ 4.0.0
+
+ com.google.flink.connector.gcp
+ flink-connector-gcp-bigtable-shaded
+ 2.0.0
+ jar
+
+
+ 11
+ 11
+ 2.1.0
+
+
+
+
+
+ com.google.cloud
+ libraries-bom
+ 26.52.0
+ pom
+ import
+
+
+
+
+
+
+ com.google.flink.connector.gcp
+ flink-connector-gcp-bigtable
+ 0.2.0
+
+
+
+
+ org.apache.flink
+ flink-core
+ ${flink.version}
+ provided
+
+
+ org.apache.flink
+ flink-connector-base
+ ${flink.version}
+ provided
+
+
+ org.apache.flink
+ flink-streaming-java
+ ${flink.version}
+ provided
+
+
+ org.apache.flink
+ flink-table-common
+ ${flink.version}
+ provided
+
+
+ org.apache.flink
+ flink-table-runtime
+ ${flink.version}
+ provided
+
+
+ org.apache.flink
+ flink-metrics-dropwizard
+ ${flink.version}
+ provided
+
+
+
+
+ flink-connector-gcp-bigtable-shaded-2.0.0
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.5.1
+
+
+ shade-flink
+ package
+
+ shade
+
+
+ false
+ false
+
+
+
+
+
+
+ org.apache.flink:*
+
+
+ org.apache.avro:avro
+
+ com.google.cloud:google-cloud-bigtable-emulator*
+
+ com.google.code.findbugs:jsr305
+
+
+
+
+ *:*
+
+ META-INF/*.DSA
+ META-INF/*.MF
+ META-INF/*.RSA
+ META-INF/*.SF
+
+
+
+
+
+ io.grpc
+ com.google.flink.connector.gcp.bigtable.shaded.io.grpc
+
+
+ com.google.protobuf
+ com.google.flink.connector.gcp.bigtable.shaded.com.google.protobuf
+
+
+ com.google.common
+ com.google.flink.connector.gcp.bigtable.shaded.com.google.common
+
+
+ io.opencensus
+ com.google.flink.connector.gcp.bigtable.shaded.io.opencensus
+
+
+ com.google.api
+ com.google.flink.connector.gcp.bigtable.shaded.com.google.api
+
+
+ com.google.cloud
+ com.google.flink.connector.gcp.bigtable.shaded.com.google.cloud
+
+
+
+
+
+
+
+
+
diff --git a/connectors/bigtable/flink-connector-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/BigtableSink.java b/connectors/bigtable/flink-connector-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/BigtableSink.java
index ff945a9..e4f7d44 100644
--- a/connectors/bigtable/flink-connector-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/BigtableSink.java
+++ b/connectors/bigtable/flink-connector-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/BigtableSink.java
@@ -68,12 +68,6 @@ public static Builder builder() {
private static final Logger logger = LoggerFactory.getLogger(BigtableSink.class);
- @Override
- public SinkWriter createWriter(Sink.InitContext sinkInitContext) throws IOException {
- // https://nightlies.apache.org/flink/flink-docs-release-1.19/api/java/org/apache/flink/api/connector/sink2/Sink.InitContext.html
- // Discussion: https://lists.apache.org/thread/ydjypynwrh56s7x64lo5jt5wofl4jgk9
- throw new UnsupportedOperationException("Not supported. InitContext is deprecated");
- }
@Override
public SinkWriter createWriter(WriterInitContext sinkInitContext) throws IOException {
diff --git a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteExactlyOnce.java b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteExactlyOnce.java
index 9c6dddc..ef79b5d 100644
--- a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteExactlyOnce.java
+++ b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteExactlyOnce.java
@@ -23,7 +23,7 @@
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.connector.source.util.ratelimit.RateLimiterStrategy;
-import org.apache.flink.api.java.utils.ParameterTool;
+import org.apache.flink.util.ParameterTool;
import org.apache.flink.connector.datagen.source.DataGeneratorSource;
import org.apache.flink.connector.datagen.source.GeneratorFunction;
import org.apache.flink.formats.avro.typeutils.GenericRecordAvroTypeInfo;
diff --git a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteGenericRecord.java b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteGenericRecord.java
index 54f40a2..cfda89a 100644
--- a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteGenericRecord.java
+++ b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteGenericRecord.java
@@ -22,7 +22,7 @@
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.connector.source.util.ratelimit.RateLimiterStrategy;
-import org.apache.flink.api.java.utils.ParameterTool;
+import org.apache.flink.util.ParameterTool;
import org.apache.flink.connector.datagen.source.DataGeneratorSource;
import org.apache.flink.connector.datagen.source.GeneratorFunction;
import org.apache.flink.formats.avro.typeutils.GenericRecordAvroTypeInfo;
diff --git a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteGenericRecordNested.java b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteGenericRecordNested.java
index 91b548d..a0c0275 100644
--- a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteGenericRecordNested.java
+++ b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteGenericRecordNested.java
@@ -22,7 +22,7 @@
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.connector.source.util.ratelimit.RateLimiterStrategy;
-import org.apache.flink.api.java.utils.ParameterTool;
+import org.apache.flink.util.ParameterTool;
import org.apache.flink.connector.datagen.source.DataGeneratorSource;
import org.apache.flink.connector.datagen.source.GeneratorFunction;
import org.apache.flink.formats.avro.typeutils.GenericRecordAvroTypeInfo;
diff --git a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteRowData.java b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteRowData.java
index 2627cfe..6d2f785 100644
--- a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteRowData.java
+++ b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteRowData.java
@@ -22,7 +22,7 @@
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.connector.source.util.ratelimit.RateLimiterStrategy;
-import org.apache.flink.api.java.utils.ParameterTool;
+import org.apache.flink.util.ParameterTool;
import org.apache.flink.connector.datagen.source.DataGeneratorSource;
import org.apache.flink.connector.datagen.source.GeneratorFunction;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
diff --git a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteRowDataNested.java b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteRowDataNested.java
index 95e5cb3..0659c67 100644
--- a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteRowDataNested.java
+++ b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteRowDataNested.java
@@ -22,7 +22,7 @@
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.connector.source.util.ratelimit.RateLimiterStrategy;
-import org.apache.flink.api.java.utils.ParameterTool;
+import org.apache.flink.util.ParameterTool;
import org.apache.flink.connector.datagen.source.DataGeneratorSource;
import org.apache.flink.connector.datagen.source.GeneratorFunction;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
diff --git a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteTableAPI.java b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteTableAPI.java
index 8708359..7c5a93f 100644
--- a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteTableAPI.java
+++ b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteTableAPI.java
@@ -18,7 +18,7 @@
package com.google.flink.connector.gcp.bigtable.examples;
-import org.apache.flink.api.java.utils.ParameterTool;
+import org.apache.flink.util.ParameterTool;
import org.apache.flink.connector.datagen.table.DataGenConnectorOptions;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.DataTypes;
diff --git a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteTableAPINested.java b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteTableAPINested.java
index 8cf8ebd..188fd28 100644
--- a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteTableAPINested.java
+++ b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteTableAPINested.java
@@ -18,7 +18,7 @@
package com.google.flink.connector.gcp.bigtable.examples;
-import org.apache.flink.api.java.utils.ParameterTool;
+import org.apache.flink.util.ParameterTool;
import org.apache.flink.connector.datagen.table.DataGenConnectorOptions;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.DataTypes;
diff --git a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteWithFunction.java b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteWithFunction.java
index eb2f426..3481a3c 100644
--- a/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteWithFunction.java
+++ b/connectors/bigtable/flink-examples-gcp-bigtable/src/main/java/com/google/flink/connector/gcp/bigtable/examples/WriteWithFunction.java
@@ -21,7 +21,7 @@
import org.apache.flink.api.common.eventtime.WatermarkStrategy;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.connector.source.util.ratelimit.RateLimiterStrategy;
-import org.apache.flink.api.java.utils.ParameterTool;
+import org.apache.flink.util.ParameterTool;
import org.apache.flink.connector.datagen.source.DataGeneratorSource;
import org.apache.flink.connector.datagen.source.GeneratorFunction;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
diff --git a/connectors/bigtable/pom.xml b/connectors/bigtable/pom.xml
index 28e659e..612701e 100644
--- a/connectors/bigtable/pom.xml
+++ b/connectors/bigtable/pom.xml
@@ -17,7 +17,7 @@
- 1.20.0
+ 2.1.0
11
11
1.7.36