mysql key 多个_mysql-sqoop merge-key创建多个零件文件,而不是...

理想情况下,当我们在不使用merge-key的情况下运行增量文件时,它将创建带有附加数据集的新文件,但是如果我们使用merge-key,则它将创建新的整个数据集,包括仅在一个文件中的先前数据集.但是当我在sqoop工作中使用增量追加时,我没有得到一个零件文件.以下是我的步骤:

1)初始数据:

mysql> select * from departments_per;

+---------------+-----------------+

| department_id | department_name |

+---------------+-----------------+

| 2 | Fitness |

| 3 | Footwear |

| 4 | Apparel |

| 5 | Golf |

| 6 | Outdoors |

| 7 | Fan Shop |

+---------------+-----------------+

2)sqoop命令最初将数据导入hdfs:

sqoop import \n--connect jdbc:mysql://localhost/practice \n--username root \n--password cloudera \n--table departments_per \n--target-dir /departments \n-m 1

现在,当我看到hdfs下的目录部门时,我可以看到一个部分文件,这很好.

3)现在我在mysql中更新我的初始数据:

mysql> select * from departments_demo;

+---------------+-----------------+

| department_id | department_name |

+---------------+-----------------+

| 2 | Fitness |

| 3 | Footwear |

| 4 | Apparel |

| 5 | Golf |

| 6 | Outdoors |

| 7 | Fan |

| 8 | Tushar MC |

+---------------+-----------------+

4)现在,我创建增量追加作业并执行它:

sqoop job --create appendJobs12 \n-- import \n--connect jdbc:mysql://localhost/practice \n--username root \n--password cloudera \n--table departments_demo \n-m 1 \n--target-dir /departments \n--incremental append \n--merge-key department_id \n--check-column department_id \n--last-value 0

sqoop job --exec appendJobs12

5)即使我使用了合并键概念,我也可以在hdfs目录中看到两个部分文件.

[cloudera@quickstart ~]$hadoop fs -ls /departments

Found 3 items

-rw-r--r-- 1 cloudera supergroup 0 2018-10-04 00:31 /departments/_SUCCESS

-rw-r--r-- 1 cloudera supergroup 60 2018-10-04 00:31 /departments/part-m-00000

-rw-r--r-- 1 cloudera cloudera 67 2018-10-04 00:37 /departments/part-m-00001

当我显示数据时,如下所示:

[cloudera@quickstart ~]$hadoop fs -cat /departments/part-m-00000

2,Fitness

3,Footwear

4,Apparel

5,Golf

6,Outdoors

7,Fan Shop

[cloudera@quickstart ~]$hadoop fs -cat /departments/part-m-00001

2,Fitness

3,Footwear

4,Apparel

5,Golf

6,Outdoors

7,Fan

8, Tushar MC

其中一个零件文件包含初始数据,第二个零件文件包含更新的数据.谁能告诉我我要去哪里错了,因为我无法使用更新的数据集获得一个零件文件.提前致谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值