Skip to content

Commit d2878e6

Browse files
committed
added iceberg table to share
1 parent dc4c4ed commit d2878e6

File tree

3 files changed

+29
-16
lines changed

3 files changed

+29
-16
lines changed

client-spark/src/test/java/io/whitefox/api/client/ITDeltaSharingClient.java

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@ public class ITDeltaSharingClient implements DatasetComparer, ScalaUtils {
2323

2424
private final StorageManagerInitializer storageManagerInitializer;
2525
private final String deltaTablePath;
26-
26+
private final String icebergTablePath;
2727

2828
public ITDeltaSharingClient() {
2929
this.storageManagerInitializer = new StorageManagerInitializer();
3030
this.deltaTablePath =
3131
TablePath.getDeltaTablePath(getClass().getClassLoader().getResource("MrFoxProfile.json"));
32+
this.icebergTablePath =
33+
TablePath.getIcebergTablePath(getClass().getClassLoader().getResource("MrFoxProfile.json"));
3234
}
3335

3436
@BeforeAll
@@ -37,10 +39,10 @@ static void initStorageManager() {
3739
}
3840

3941
@Test
40-
void showS3Table1withQueryTableApi() {
42+
void showS3IcebergTable1withQueryTableApi() {
4143
var spark = TestSparkSession.newSparkSession();
42-
storageManagerInitializer.createS3DeltaTable();
43-
var ds = spark.read().format("deltaSharing").load(deltaTablePath);
44+
storageManagerInitializer.createIcebergTableWithGlueMetastore();
45+
var ds = spark.read().format("deltaSharing").load(icebergTablePath);
4446
var expectedSchema = new StructType(new StructField[] {
4547
new StructField("id", DataType.fromDDL("long"), true, new Metadata(emptyScalaMap()))
4648
});
@@ -61,23 +63,23 @@ void showS3Table1withQueryTableApi() {
6163
}
6264

6365
@Test
64-
void showS3IcebergTableWithQueryTableApi() {
66+
void showS3Table1withQueryTableApi() {
6567
var spark = TestSparkSession.newSparkSession();
66-
registerAnIcebergTable();
68+
storageManagerInitializer.createS3DeltaTable();
6769
var ds = spark.read().format("deltaSharing").load(deltaTablePath);
6870
var expectedSchema = new StructType(new StructField[] {
69-
new StructField("id", DataType.fromDDL("long"), true, new Metadata(emptyScalaMap()))
71+
new StructField("id", DataType.fromDDL("long"), true, new Metadata(emptyScalaMap()))
7072
});
7173
var expectedData = spark
72-
.createDataFrame(
73-
List.of(
74-
new MrFoxDeltaTableSchema(0),
75-
new MrFoxDeltaTableSchema(3),
76-
new MrFoxDeltaTableSchema(2),
77-
new MrFoxDeltaTableSchema(1),
78-
new MrFoxDeltaTableSchema(4)),
79-
MrFoxDeltaTableSchema.class)
80-
.toDF();
74+
.createDataFrame(
75+
List.of(
76+
new MrFoxDeltaTableSchema(0),
77+
new MrFoxDeltaTableSchema(3),
78+
new MrFoxDeltaTableSchema(2),
79+
new MrFoxDeltaTableSchema(1),
80+
new MrFoxDeltaTableSchema(4)),
81+
MrFoxDeltaTableSchema.class)
82+
.toDF();
8183

8284
assertEquals(expectedSchema, ds.schema());
8385
assertEquals(5, ds.count());

client-spark/src/test/java/io/whitefox/api/utils/StorageManagerInitializer.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,14 @@ public TableInfo createIcebergTableWithGlueMetastore() {
5858
var provider = ApiUtils.recoverConflictLazy(
5959
() -> providerV1Api.addProvider(providerRequest),
6060
() -> providerV1Api.getProvider(providerRequest.getName()));
61+
var schemaRequest = createSchemaRequest(TableFormat.iceberg);
62+
var shareRequest = createShareRequest();
63+
ignoreConflict(() -> schemaV1Api.createSchema(shareRequest.getName(), schemaRequest));
6164
var createTableRequest = createIcebergTableRequest();
65+
ignoreConflict(() -> schemaV1Api.addTableToSchema(
66+
shareRequest.getName(),
67+
schemaRequest,
68+
addTableToSchemaRequest(providerRequest.getName(), createTableRequest.getName())));
6269
return ApiUtils.recoverConflictLazy(
6370
() -> tableV1Api.createTableInProvider(provider.getName(), createTableRequest),
6471
() -> tableV1Api.describeTableInProvider(provider.getName(), createTableRequest.getName()));

client-spark/src/test/java/io/whitefox/api/utils/TablePath.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
public class TablePath {
66

7+
public static String getIcebergTablePath(URL resource) {
8+
return String.format("%s#%s.%s.%s", resource, "s3share", "s3schemaiceberg", "s3IcebergTable1");
9+
}
10+
711
public static String getDeltaTablePath(URL resource) {
812
return String.format("%s#%s.%s.%s", resource, "s3share", "s3schemadelta", "s3Table1");
913
}

0 commit comments

Comments
 (0)