SQOOP支持将特定列从hdfs导出到mysql吗?
例如现在我有一个像这样的 hdfs 文件:
866138000211400 4 com.spreadst.validationtools 1 1310090804 0 0
866138000211400 4 com.spreadst.validdate 1 1310090804 0 0
866138000211400 4 com.spreadtrum.android.eng 1 1310090804 0 0
866138000211400 4 com.tencent.mm 261 1310090804 0 0
866138000211400 4 com.tencent.mobileqq 13 1310090804 0 0
866138000211400 4 com.thunderst.radio 1 1310090804 0 0
866138000211400 4 com.uucun51111531.android.cms 2013080901 1310090804 0 0
866138000211400 4 com.yeezonetech.firewall 1 1310090804 0 0
866138000211400 4 com.youku.phone 41 1310090804 0 0
866138000211400 4 org.openintents.cmfilemanager 20 1310090804 0 0
每行有 7 列(imei、platform、packagename、softversion、gathertime、isHidden、isUninstalled),每列以 '\t' 结尾。
mysql表结构如下:
imei:varchar(100),平台:char(1),包名:varchar(100),软件版本:varchar(20)
。
如何直接使用 sqoop 将 hdfs 文件导出到 mysql 并包含 4 个特定列?
最佳答案
是的,使用 --columns 参数指定要导入的列。
来自 Sqoop Cookbook 的示例:
sqoop export \
--connect jdbc:mysql://mysql.example.com/sqoop \
--username sqoop \
--password sqoop \
--table cities \
--columns country,city
关于mysql - sqoop 将特定列从 hdfs 导出到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19289381/