2017-08-10 55 views
-1

通過sqoop從SQL導入數據時,是否可以添加新列並將時間戳插入到該列中?在sqoop導入中添加列

在將數據導入HDFS之前,是否可以通過任何其他方式進行操作?

+3

嗨,歡迎來到SO!請顯示你已經嘗試過的。目前的問題可能不會得到很好的答案,可能會被關閉。請[參觀](https://stackoverflow.com/tour)並閱讀[如何問](https://stackoverflow.com/help/how-to-ask)和[如何創建一個最小的,可驗證的例如](https://stackoverflow.com/help/mcve)以獲得更好的使用本網站的結果。祝你好運! – theFunkyEngineer

+0

完成數據庫傳輸後,應該很容易將新列添加到新數據庫中,這與您通常的方式相同。或者,您可以在執行傳輸之前在現有數據庫中添加新列。 – jpaugh

回答

0

您可以使用sqoop命令的--query參數並添加SQL函數來獲取查詢中的當前時間戳。

示例:從具有rollnum和name列的MySQL導入stud表。

sqoop import --connect jdbc:mysql://localhost:3306/test --driver com.mysql.jdbc.Driver --username root --query 'select name, rollnum, current_timestamp from stud where $CONDITIONS' --target-dir '/tmp/stud1' --split-by id 

注意查詢中使用的current_timestamp mysql函數。