配置Hive目的端参数 本章节主要介绍配置Hive目的端参数。 作业中目的连接为配置Hive连接时,目的端作业参数如下表所示。 表 Hive作为目的端时的作业参数 参数名 说明 取值样例 数据库名称 输入或选择写入数据的数据库名称。 单击输入框后面的按钮可进入数据库选择界面。 default 自动创表 只有当源端为关系数据库时,才有该参数。表示写入表数据时,用户选择的操作: 不自动创建:不自动建表。 不存在时创建:当目的端的数据库没有“表名”参数中指定的表时,CDM会自动创建该表。如果“表名”参数配置的表已存在,则不创建,数据写入到已存在的表中。 先删除后创建:CDM先删除“表名”参数中指定的表,然后再重新创建该表。 不自动创建 表名 输入或选择写入数据的目标表名。 单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据。 TBLX 导入前清空数据 选择目的端表中数据的处理方式: 是:任务启动前会清除目标表中数据。 否:导入前不清空目标表中的数据,如果选“否”且表中有数据,则数据会追加到已有的表中。 是 待清空分区 “导入前清空数据”设置为“是”时,呈现此参数。 填写待清空分区信息后,表示清空该分区的数据。 单分区:year2020,locationsun; 多分区:['year2020,locationsun', 'year2021,locationearth']. 说明 Hive作为目的端时,会自动创建存储格式为ORC的表。 Hive作为迁移的目的时,如果存储格式为Textfile,在Hive创建表的语句中需要显式指定分隔符。例如: CREATE TABLE csvtbl( smallintvalue smallint, tinyintvalue tinyint, intvalue int, bigintvalue bigint, floatvalue float, doublevalue double, decimalvalue decimal(9, 7), timestmampvalue timestamp, datevalue date, varcharvalue varchar(100), stringvalue string, charvalue char(20), booleanvalue boolean, binaryvalue binary, varcharnull varchar(100), stringnull string, charnull char(20), intnull int ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ( "separatorChar" "t", "quoteChar" "'", "escapeChar" "" ) STORED AS TEXTFILE;