答疑
1、追加写与覆盖写
【问题】
请问下用sink组件将数据写入数据库时,目前是追加写的,有没有办法是覆盖写的?
【答复】
Alink教程4.1节讲了这个问题,需要判断目标数据表是否存在,并执行相应的删除操作。可以调用Catalog 中相应方法实现。
2、Alink写hive可以overwrite吗?
【问题】
Alink写hive可以overwrite吗?有这个参数,但是没有生效。现在我这边测试,每次都是append。无法overwrite。
【答复】
首先要看一下是以批的方式还是流的方式进行的写操作。在数据表存在的情况下,二者的表现不一样。
3、读取ODPS上的分区表
【问题】
odps上的表是分区表,那我应该怎么读取呢?
【答复】
可以这么写。
CatalogObject catalogObject = new CatalogObject(odpsCatalog, new ObjectPath(odps_project,
"test_catalog_source_sink3"), new Params().set(OdpsSourceParams.PARTITIONS, "ds=20190729"));