
# Hive输入
#### 概述
"Hive输入"算子，将Hive表的指定列转换成同等数量的输入字段。
#### 输入与输出
- 输入：Hive表列
- 输出：字段
 
#### 参数说明
表1算子参数说明 
| 参数       | 含义                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 类型     | 是否必填 | 默认值     |
|:---|:---|:---|:---|:---|
| Hive数据库  | Hive的数据库名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | String | 否    | default |
| Hive表名   | 配置Hive表名。 仅支持一个Hive表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | String | 是    | 无       |
| 分区过滤器    | 配置分区过滤器可以导出指定分区数据，默认为空，导出整个表数据。 例如导出分区字段locale的值为"CN"或"US"的表数据，输入如下： **locale = "CN" or locale = "US"**                                                                                                                                                                                                                                                                                                                                                                                                                                               | String | 否    | -       |
| Hive输入字段 | 配置Hive输入信息： - 列名：配置Hive列名。  - 字段名：配置输入字段名。  - 类型：配置字段类型。  - 长度：配置字段长度，字段值实际长度太长则按配置的长度截取，"类型"为"CHAR"时实际长度不足则空格补齐，"类型"为"VARCHAR"时实际长度不足则不补齐。   | map    | 是    | -       |
   
#### 数据处理规则
- 当配置Hive表名不存在时，作业提交失败。
- 当配置的列名与Hive表列名不匹配时，读取不到数据，导入数据条数会为0。
- 当字段的值与实际的类型不匹配时，该行数据会成为脏数据。
 
#### 样例
以Hive导出到sqlserver2014数据库为例。
在sqlserver2014上创建一张空表"test_1"用于存储Hive数据。执行以下语句：
**create table test_1 (id int, name text, value text);**
配置"Hive输入"算子，生成三个字段A、B和C：
设置了数据连接器后，单击"自动识别"，系统将自动读取数据库中的字段，可根据需要选择添加，然后根据业务场景手动进行完善或者修正即可，无需逐一手动添加。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
此操作会覆盖表格内已有数据。
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001724867009.png "点击放大")
通过"表输出"算子，将A、B和C输出到"test_1"表中：
**select \* from test_1;**
![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001724747137.png)
