用于单元测试的 deltalake scala api

问题描述 投票:0回答:1

我能够使 deltalake 在本地工作以进行单元测试数据+spark 应用程序逻辑。

      def readDeltaLake(path: String)(implicit sc: SparkSession): DataFrame =
        sc.read
          .format("org.apache.spark.sql.delta.sources.DeltaDataSource")
          .load(path)


    // local spark session
    implicit val sparkSession: SparkSession = aSparkSession() 
    import sparkSession.implicits._

    // path to scala/test/resources with parquet file
    io.delta.tables.DeltaTable.convertToDelta(sparkSession, s"parquet.`${singleInput.getParent.toFile.getAbsolutePath}`") 

    val myTestData = readDeltaLake(singleInput.getParent.toFile.getAbsolutePath)
    myTestData.count() shouldBe 42L

上面的代码工作正常,但我想用分区模仿真正的三角洲湖布局。 我的分区架构是:

hdfs://my_data/delta/ds=2024-05-27 23%3A00%3A00

我如何创建相同的东西,但具有日期分区?

scala apache-spark delta-lake apache-spark-dataset
1个回答
0
投票

根据评论和链接写增量

val data = spark.range(5, 10)
data.partitionBy("","").write.format("delta").mode("overwrite").save("/tmp/delta-table")
df.show()
© www.soinside.com 2019 - 2024. All rights reserved.