【特别注意】Sqoop2里面各个版本的区别还是很大的,这里使用1.99.6版本。

  • sqoop2的url等信息放到properties配置文件中,配置文件解析出来传给SqoopClient报错。

SqoopClient初始化代码:

    private SqoopUtil() throws IOException {

        String url = PropertiesUtil.getProperty("SQOOP_URL").trim();
SqoopClient client = new SqoopClient(url);
System.out.println("url:" +url);
connectorMap = new HashMap<String, Long>();
System.out.println(client.getConnector(2));//注释掉该句不报错
// readConnectorMap();
System.out.println("connectorMap size---------"+ connectorMap.size()); }

配置文件解析工具类,解析/myconf.properties文件。

public class PropertiesUtil {

    private static String propertiesFile = "/myconf.properties";
private static PropertiesUtil proUtil = null;
private static HashMap<String, String> confMap= null;
private static Properties p = new Properties(); public PropertiesUtil() throws IOException {
confMap = new HashMap<String, String>();
readPropertiesToMap();
System.out.println();
} private static void readPropertiesToMap() throws IOException { p.load(PropertiesUtil.class.getResourceAsStream(propertiesFile)); for(Object key: p.keySet()) {
confMap.put((String)key, p.getProperty((String)key));
}
} private static PropertiesUtil getPropertiesUtil() throws IOException { if(proUtil == null) {
synchronized(PropertiesUtil.class) {
if(proUtil == null) {
long start = System.currentTimeMillis();
proUtil = new PropertiesUtil();
long end = System.currentTimeMillis();
System.out.println("construct properties util last "+ (end-start));
}
}
} return proUtil;
} public String get(String name) throws IOException {
return confMap.get(name);
}
public static String getProperty(String name) throws IOException { return getPropertiesUtil().confMap.get(name);
} public static void main(String[] args) throws IOException {
System.out.println(getPropertiesUtil().confMap.get("SQOOP_URL"));
} }

但在调用client.getConnector的时候报错:

将初始化SqoopClient的url改为/myconf.properties文件中的SQOOP_URL对应的字符串则能顺利运行:

暂时还没解决。。。正在研究中。。。

Sqoop2中传入配置文件中url之【坑】的更多相关文章

  1. 解决spring中不同配置文件中存在name或者id相同的bean可能引起的问题

    小总结: 如果启用组件扫描,bean名称不同时,Spring将尝试创建一个bean,即使该类的bean已经在spring-config.xml中定义了. 但是,如果在spring配置文件中定义的bea ...

  2. CI框架在辅助函数中使用配置文件中的变量

    问题: 现有一个自定义的辅助函数,想要获取配置文件中的配置项(配置文件路径为application/config/config.php) 分析: 辅助函数并不是定义在一个class中,而是很多个可供外 ...

  3. springboot中引用配置文件中的参数

    首先可以看到这是做微信登陆时候的配置,一般不会写死都是通过配置文件获取,所以,记载配置文件中 那么怎么引用呢: 可以看到直接注入的方式就可以引用了,所以看下面: 进行页面跳转,并且带有参数的, 使用m ...

  4. Java中读取配置文件中的内容,并将其赋值给静态变量的方法

    应用场景 项目开发中某个功能需要抽取成方法写成一个工具类,提供给别人使用.写过工具类的人都知道,工具类中的方法一般都是静态方法,可以直接使用类名点方法名调用, 使用很方便,比如判断某个对象是否为空的方 ...

  5. 在Spring框架中bean配置文件中constructor-arg标签中没有name元素?

    bean配置文件出现错误的依赖: <beans <beans xmlns="http://www.springframework.org/schema/beans"   ...

  6. java中读取配置文件中的数据

    1.先在项目中创建一个包(如:config),再创建一个配置文件(如:a.properties),添加配置信息如下:比如:name=kakaage=28 2.代码:import java.io.IOE ...

  7. tp5.0在控制器中和在模板中调用配置文件中的常量

    框架配置文件config.php中定义 'view_replace_str'  =>  [ '__MEMBER__'=> '/static/member',         '__uplo ...

  8. Spring框架中Spring配置文件中<context:annotation-config/>标签说明

    <context:annotation-config/>此标签的重要作用就是: 省去系统繁琐的注解标签,加上一个此标签,就可以在此项目程序添加“注解”的功能,使系统识别相应的注解功能!! ...

  9. 在SpringCloud中MAVEN配置文件中的更改

    <mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> ...

随机推荐

  1. expect实现自动登录

    自动登录主机(ssh) 建脚本item2login.sh,包含如下内容 #!/usr/bin/expect set timeout 30 spawn ssh -p [lindex $argv 0] [ ...

  2. Learning Spark 第四章——键值对处理

    本章主要介绍Spark如何处理键值对.K-V RDDs通常用于聚集操作,使用相同的key聚集或者对不同的RDD进行聚集.部分情况下,需要将spark中的数据记录转换为键值对然后进行聚集处理.我们也会对 ...

  3. Maven pom.xml 元素配置说明(一)

    部分来源: Maven中 dependencies 节点和 dependencyManagement 节点的区别 dependencies与dependencyManagement的区别 maven ...

  4. C语言中的system函数参数及其作用

    函数名: system 功   能: 发出一个DOS命令  用   法: int system(char *command);  system函数已经被收录在标准c库中,可以直接调用 system() ...

  5. memcache的内存管理探微

    slab分配器:http://blog.csdn.net/luotuo44/article/details/42737181 hash操作  :http://blog.csdn.net/luotuo4 ...

  6. C/C++: C++可调用对象详解

    C++中有几种可调用对象:函数,函数指针,lambda表达式,bind创建的对象,以及重载了函数调用符的类. 1. 函数 函数偏基础的东西,在这里不再叙述.重点讲下C++11的某些重要特性和函数指针. ...

  7. git常用的命令集合

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  8. php 封装 知识点

    类由众多对象抽象出来的对象由类实例化出来的 成员变量成员方法成员属性 访问修饰符public 公有的protected 受保护的private 私有的 构造函数1.写法特殊2.执行时间特殊 面向对象的 ...

  9. python之Socket网络编程

    什么是网络? 网络是由节点和连线构成,表示诸多对象及其相互联系.在数学上,网络是一种图,一般认为专指加权图.网络除了数学定义外,还有具体的物理含义,即网络是从某种相同类型的实际问题中抽象出来的模型.在 ...

  10. 查看openssl的版本

    [root@ha01 tengine]# openssl version -a OpenSSL Feb built on: Thu Jul :: UTC platform: linux-x86_64 ...