Sqoop 是一個用于在關系型數據庫(如 MySQL、Oracle 等)和 Hadoop 之間傳輸數據的工具。在 Sqoop 中,可以使用字段映射(field-mapping)來指定源表和目標表之間的字段對應關系。以下是配置 Sqoop 字段映射的步驟:
打開命令行界面(CLI)。
使用 sqoop import
命令連接到源數據庫和目標 Hadoop 集群。例如:
sqoop import \
--connect jdbc:mysql://localhost:3306/source_db \
--username user_name \
--password password \
--table source_table \
--target-dir /user/hadoop/output \
--fields-terminated-by '\t' \
--lines-terminated-by '\n' \
--map-column-source source_field1=target_field1,source_field2=target_field2
在上面的示例中,--connect
參數用于指定源數據庫的連接信息,--username
和 --password
參數用于提供登錄憑據,--table
參數用于指定源表名,--target-dir
參數用于指定輸出目錄,--fields-terminated-by
和 --lines-terminated-by
參數用于指定字段和行的分隔符。
最后,--map-column-source
參數用于指定字段映射。它接受一個逗號分隔的字段映射列表,其中每個映射由源字段名和目標字段名組成,用等號(=)分隔。例如,source_field1=target_field1,source_field2=target_field2
表示將源表的 source_field1
和 source_field2
字段分別映射到目標表的 target_field1
和 target_field2
字段。
按 Enter 鍵運行命令。Sqoop 將連接到源數據庫,執行查詢并將結果導入到 Hadoop 集群中。
注意:在實際使用中,可能需要根據具體需求調整字段映射和連接參數。