利用datax將數據從hdfs導入到mysql上,出現列配置信息有誤,因爲您的配置的任務中,源頭讀取字段數和寫入的字段數不相等

在这里插入图片描述
當時出現這個問題,卡了非常久的時候,後面發現是我的源數據有很多的髒數據,比如\r\n,\t等等
當時的解決辦法就是:
利用hive load時指定orc格式,做法是再重新創建一張表,表的格式是orc,orc處理髒數據比較好,然後再重新導入數據,
然後把hdfs表中的所有字段換成string類型,與之對應的是mysql的字段數據類型也需要做出相應的變化,當時是解決了這個問題。但是治標不治本

後面采集的數據的時候又發現了一個bug,就是雖然mysql導入導入hdfs的數據可以成功,但是發現hdfs的表數據數量和mysql的數據數量不一致,數據源頭發生了這麽大的變化
當時解決方法是這樣的:
1.先將ods的表從text格式換為orc
2.在datax中加入transformer,將\r\n的數據給去掉
發現可以解決問題,但是後面發現又有問題,數據的解析依舊發生了錯位,有些日期字段的數據是一些文字,想了很久,後面的解決辦法是,將使用\t的分隔符換位\001,就可以解決所有的問題了

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐