如何将sqoop导出从HDFS跳转到我的csv标头到MSSQL? 我试图研究这个,但我找不到任何答案。所以这就是我现在遇到的问题。 如果我的csv有标题我的一些数据没有保存,我认为它正在跳过一些行。然后,当我将我的表数据类型设置为varchar时,标题也被保存了,这就是为什么我试图删除标题并再次sqoop它,它将我的数据保存到我的表中没有任何问题。
csv文件我总是有一个标题,这就是为什么我在sqoop中查看设置以跳过csv标题。
谢谢。
答案 0 :(得分:0)
尝试将所有内容发送到临时表并使用call stored_procedure。在该存储过程中,您可以在插入最终表之前过滤此记录。我也没有找到任何直接的财产选择。否则最好的方法是操作文件,然后执行sqoop。您已经了解此过程。
答案 1 :(得分:0)
--first ~ 删除 HDFS 中的 Header,然后尝试以下属性 ==> sed -i 1d your_File_Name.csv
--验证计数 从 stg_card_transactions 中选择 count(*);
--从 Stg 表中删除重复项 更改忽略表 stg_card_transactions 添加唯一索引 idx_card_txns (card_id,transaction_dt);
--验证没有重复 从 stg_card_transactions 组中选择 card_id,transaction_dt,count() by card_id,transaction_dt 有 count() >1;
--用于删除重复项的删除索引 更改表 stg_card_transactions 删除索引 idx_card_txns;
--加载主表 插入 card_transactions 选择 card_id,member_id,amount,postcode,pos_id,STR_TO_DATE(transaction_dt,'%d-%m-%Y %H:%i:%s'),status from stg_card_transactions; 提交;
--验证计数 select count(*) from card_transactions;