赞
踩
java在调用sqoop时候,一些通用参数在此就不介绍了,很多地方都有详细介绍,本文只介绍一些我个人在使用sqoop工具包遇到的问题:访问Postgre库时候怎么加上schema参数
// 将HDFS文件导入到Postgre库 /** *@param conf 连接Hadoop的conf *@param pg_tablename pg库的表名 *@param table_columns 表的列名 *@param schema_name schema名字 *@param hdfsDir HDFS的文件目录 *@param pg_con_info_map pg库的连接信息 */ public static void ExportCmd(Configration conf, String pg_tablename,String schema_name,List<String> table_columns, String hdfsDir,Map<String,String> pg_con_info_map){ list<String> list = new ArryList<>(); //pg库的连接名 list.add("--connect"); list.add(pg_con_info_map.get("DRIVERURL")); list.add("--username"); list.add(pg_con_info_map.get("USER")); list.add("--password"); list.add(pg_con_info_map.get("PASSWORD")); list.add("--table"); list.add(pg_tablename); list.add("--colnumns"); list.add(StringUtils.join(table_columns)); list.add("--fields-terminated-by"); list.add("\t"); list.add("--export-dir"); list.add(hdfsDir); list.add("-m"); list.add("1"); //设置表的schema //放在所有参数的最后 list.add("--"); list.add("--schema"); list.add(schema_name); Exporter exporter = new Exporter(); .... }
修改了jar包的源码,目前支持scheme.tableName的表名格式,例如表名为:hero.zero_test_pg,会自动处理,在Postgre库中找"hero".zero_test_pg的表名,
原来schema参数依然可以使用,jar包后续会上传
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。