def test_create_replace_table_with_no_spark_session_passed(self) -> None: # create table. deltaTable = DeltaTable.create().tableName("test")\ .addColumn("value", dataType="int").execute() self.__verify_table_schema("test", deltaTable.toDF().schema, ["value"], [IntegerType()], nullables={"value"}) # ignore existence with createIfNotExists deltaTable = DeltaTable.createIfNotExists().tableName("test") \ .addColumn("value2", dataType="int").execute() self.__verify_table_schema("test", deltaTable.toDF().schema, ["value"], [IntegerType()], nullables={"value"}) # replace table with replace deltaTable = DeltaTable.replace().tableName("test") \ .addColumn("key", dataType="int").execute() self.__verify_table_schema("test", deltaTable.toDF().schema, ["key"], [IntegerType()], nullables={"key"}) # replace with a new column again deltaTable = DeltaTable.createOrReplace().tableName("test") \ .addColumn("col1", dataType="int").execute() self.__verify_table_schema("test", deltaTable.toDF().schema, ["col1"], [IntegerType()], nullables={"col1"})
def __create_table(self, ifNotExists, tableName=None, location=None): builder = DeltaTable.createIfNotExists(self.spark) if ifNotExists \ else DeltaTable.create(self.spark) if tableName: builder = builder.tableName(tableName) if location: builder = builder.location(location) return self.__build_delta_table(builder)