我需要将数据从HDFS上的拆分文件加载到Oracle数据库。
[user@asdf 007]$ hadoop dfs -ls
hdfs://XXXXXX/split_files/test_folder/test_table_with_partitions/*
Found 18 items
drwxrwxrwx - bigsql hdfs 0 2017-07-24 01:00 hdfs://XXXXXX/split_files/test_folder/test_table_with_partitions/tm=2017-07-24/dept=1
drwxrwxrwx - bigsql hdfs 0 2017-07-24 01:00 hdfs://XXXXXX/split_files/test_folder/test_table_with_partitions/tm=2017-07-24/dept=2
drwxrwxrwx - bigsql hdfs 0 2017-07-24 01:00 hdfs://XXXXXX/split_files/test_folder/test_table_with_partitions/tm=2017-07-24/dept=3
drwxrwxrwx - bigsql hdfs 0 2017-07-24 01:00 hdfs://XXXXXX/split_files/test_folder/test_table_with_partitions/tm=2017-07-24/dept=4
drwxrwxrwx - bigsql hdfs 0 2017-07-24 01:00 hdfs://XXXXXX/split_files/test_folder/test_table_with_partitions/tm=2017-07-24/dept=5
.......
如果我打开任何文件夹中的文件
hdfs://XXXXXX/split_files/test_folder/test_table_with_partitions/tm=2017-07-24/dept=5
他们没有时间和时间。他们内部的部门信息。因此,当我使用sqoop时,信息未加载到数据库表中。
如何将此信息也加载到数据库中?在sqoop中有没有选择呢?
答案 0 :(得分:0)
从给定的详细信息看,您看到的HDFS文件来自Hive表。
要将分区的配置单元表导出到RDBMS,您必须使用--hcatalog-table
的{{1}}参数。下面给出了一个示例,其中test1 hive表被分区并被导出到MySQL table test.test。
sqoop
要导出到Oracle数据库,您必须将sqoop export --connect jdbc:mysql://10.0.0.35:3306/test --username root --table test1 --hcatalog-table test1
替换为jdbc:mysql://10.0.0.35:3306/test