导出数据

Sqoop导出数据

在使用BMR对数据进行分析之后,分析的结果数据被保存在BOS的指定目录下,用户可以进入BOS中将结果数据导出,具体操作请参考BOS下载Object

您可通过Sqoop把BOS或HDFS的数据导出至关系型数据库RDS中。具体操作如下:

从BOS中导出数据至RDS关系型数据库

  1. 在关系型数据库RDS中创建相应的数据表,请注意数据表字段类型与导出数据需要一致,否则在导出过程中可能出现异常。数据需要连接到RDS数据库进行创建,请参考连接RDS实例

  2. 通过SSH连接到主节点,请参考SSH连接到集群

  3. 输入命令:su hdfs。切换到HDFS用户。

  4. 执行命令:
    sqoop export --connect jdbc:mysql://address:port/db_name --table export_table_name --username XX --password XX --export-dir XX

    示例:
    sqoop export --connect jdbc:mysql://mysql56.rdsmiy5q77jfaqp.rds.bj.baidubce.com:3306/sqoop --table test --username sqoop --password sqoop_123 --export-dir bos://abc/sqooptest

  5. 执行后,在RDS关系数据库PHP Admin界面可以看到执行结果,如下图所示:

从HDFS中导出数据至RDS关系型数据库

  1. 执行从BOS中导出数据至RDS关系型数据库的步骤1至3。

  2. 执行命令:
    sqoop export --connect jdbc:mysql://address:port/db_name --table export_table_name --username XX --password XX --export-dir XX

    示例:sqoop import --connect jdbc:mysql://mysql56.rdsmiy5q77jfaqp.rds.bj.baidubce.com:3306/sqoop --table test --username sqoop --password sqoop_123 --export-dir /user/hdfs/sqooptest

  3. 执行从BOS中导出数据至RDS关系型数据库的步骤5。

参数 参数说明
address和port RDS数据库实例的地址和端口号。请至RDS实例的基本信息中获取,可参考连接RDS实例
db_name 需导出数据所在数据库的名称。如需创建关系型数据库RDS实例,请参考创建数据库
table_name 需导出数据的数据表的名称。如需创建数据表,请先登录到关系型数据库RDS实例中创建,请参考连接RDS实例
--username和--password 需导出数据所在数据库的账号和密码。请至RDS实例中获取信息,请参考管理数据库账号
--export-dir 数据导出的目的地址,即BOS或HDFS的路径。