Example #1
0
    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"})
Example #2
0
 def __replace_table(self, orCreate, tableName=None, location=None):
     builder = DeltaTable.createOrReplace(self.spark) if orCreate \
         else DeltaTable.replace(self.spark)
     if tableName:
         builder = builder.tableName(tableName)
     if location:
         builder = builder.location(location)
     return self.__build_delta_table(builder)