插入数据与插入覆盖

插入数据

Hudi的hudi-spark模块提供了DataSource API来将一个Spark DataFrame写入(和读取)到一个Hudi表。读写时可以指定多个选项:

  • (1) HoodieWriteConfig:TABLE_NAME,必须项。
  • (2) DataSourceWriteOptions:数据源写入选项。

每次向Hudi数据集写入DataFrame时,必须指定DataSourceWriteOptions。这些选项在写操作之间可能是相同的。

下面生成一些新的行程数据,将它们加载到DataFrame中,然后再将DataFrame写入Hudi表中,代码如下:

// 将数据加载到DataFrame
val inserts = convertToStringList(dataGen.generateInserts(10))
val df = spark.read.json(spark.sparkContext.parallelize(inserts, 2))
df.printSchema()
df.show(5)

// 然后将该DataFrame写入Hudi表中
df.write.format("hudi")
  .options(getQuickstartWriteConfigs)
  .option(PRECOMBINE_FIELD_OPT_KEY, "ts")
  .option(RECORDKEY_FIELD_OPT_KEY, "uuid")
  .option(PARTITIONPATH_FIELD_OPT_KEY, "partitionpath")
  .option(TABLE_NAME, tableName)
  .m ......
          

......

抱歉,只有登录会员才可浏览!会员登录


《Spark原理深入与编程实战》