logger.info("start to export data");
// 开始时间
Long beginTime = System.currentTimeMillis();
try{
System.setProperty("HADOOP_USER_NAME","hddtmn");
Configuration conf = new Configuration();
conf.set("fs.default.name", HDFS);
//conf.set("hadoop.job.ugi", "hadoop,hadoop");
conf.set("mapred.job.tracker", JOB_TRACKER);
//运行sqoop程序需要额外jar支持
addTmpJar(jarDir,conf);
//addTmpJar("file:/D:/hadoop/sqoop-1.4.5.jar",conf);
String[] arg = new String[1];
ExportTool exporter = new ExportTool();
Sqoop sqoop = new Sqoop(exporter);
sqoop.setConf(conf);
//多个文件执行
FileSystem fs = FileSystem.get(URI.create(HDFS), conf);
Path path = new Path(hdfsDir);
FileStatus[] FileStatus = fs.listStatus(path);
for (FileStatus fileStatus : FileStatus) {
String type = fileStatus.isDir() ? "dir" : "file";
String permission = fileStatus.getPermission().toString();
short replication = fileStatus.getReplication();
String group = fileStatus.getGroup();
long len = fileStatus.getLen();
String filepath = fileStatus.getPath().toString();
logger.info(type + "\t" + replication + "\t"+ permission + "\t" + group + "\t" + len + "\t" + filepath + "\t");
if(filepath.contains("part-r")){
List<String> para = getSqoopPara(filepath, tableName, columns, splitStr);
arg = para.toArray(new String[0]);
Sqoop.runSqoop(sqoop, arg);
}
}
}catch(Exception e){
e.printStackTrace();
logger.info(e.getMessage());
}
// 结束时间
Long endTime = System.currentTimeMillis();
logger.info("总共:" + (endTime - beginTime) / 1000 + "秒");// 计算时间
分享到:
相关推荐
sqoop lib api文档
使用cdh版本的sqoop2 api远程操作sqoop进行数据迁移。
### Sqoop2 Java API从Oracle导数据到HDFS开发总结 #### 整体说明与准备工作 本文档旨在帮助读者理解如何使用Sqoop2的Java API将数据从Oracle数据库迁移至Hadoop分布式文件系统(HDFS)。为了顺利完成这一过程,本...
### sqoop2 Java API从Oracle导数据到HDFS开发总结 #### 整体说明与准备工作 本文档旨在帮助读者理解如何使用sqoop2的Java API将数据从Oracle数据库迁移至HDFS(Hadoop Distributed File System),同时分享了作者...
它不仅可以帮助理解Sqoop的基本用法,还可以了解如何在Java程序中调用Sqoop API,这对于自动化数据迁移流程尤其有用。无论你是数据工程师、数据科学家还是Java开发者,理解并掌握这些技能都将极大地提升你在大数据...
使用 Sqoop Java Client API 开发 Sqoop 应用**:介绍如何利用 Sqoop 的 Java 客户端 API 来构建应用程序。 #### 六、仓库 介绍 Sqoop 使用的外部存储库及其管理方式。 #### 七、安全指南 提供关于如何确保 ...
请注意, Sqoop1和Sqoop2在API和功能上有显著差异,确保根据实际需求选择正确的版本进行部署。此外,对于大型生产环境,还需要考虑高可用性、安全性以及性能优化等方面的配置。在使用Sqoop过程中,务必熟悉Hadoop...
9. **开发和集成**:Sqoop 提供了丰富的 API 和命令行工具,方便开发者将其集成到自定义的数据处理流程中。 在解压 "sqoop-1.4.6.tar.gz" 文件后,你可以找到以下内容: - `bin` 目录:包含 Sqoop 的可执行脚本,...
3. **开发者接口 (API)**: Sqoop 提供 Java API,允许开发者创建自定义的导入和导出工具。 4. **元数据管理**:Sqoop 可以获取数据库的表结构和列信息,以便进行自动化的数据迁移。 5. **分块导入 (Mappers and ...
1. 用户通过Sqoop CLI或者编程API提交一个作业。 2. Sqoop生成一个MapReduce任务,其中Mapper负责读取数据库中的记录,Reducer则将数据写入HDFS。 3. 数据传输过程中,Sqoop会自动处理分页和分块,以提高效率。 4...
9. **命令行界面**:用户可以通过简单的命令行界面与 Sqoop 交互,也可以通过编程接口(API)集成到自动化工作流程中。 10. **版本兼容性**: Sqoop 1.4.5 版本兼容多个版本的 Hadoop,确保在不同环境下都能正常...
Sqoop是Apache Hadoop生态中的一个工具,主要用于在关系型数据库和Hadoop之间高效地导入导出数据。在这个"sqoop.1.99.5"版本中,我们看到它相较于1.4版本有了显著的变化,这可能涉及到架构、功能增强以及使用方式的...
Sqoop 工具接收到客户端的 shell 命令或者 Java API 命令后,通过 Sqoop 中的任务翻译器 (Task Translator) 将命令转换为对应的 MapReduce 任务,再将关系型数据库和 Hadoop 中的数据进行相互转移,进而完成数据的...
相比之下,Sqoop2 引入了更多交互方式,如Web UI、REST API,实现了连接器的集中管理,有更完善的权限控制,但其架构较为复杂,配置和部署过程比 Sqoop1 更繁琐。 在功能方面,Sqoop1 支持与大多数主要的 RDBMS ...
此外,通过使用Sqoop API,读者可以学习到更高级的数据迁移技巧,进一步扩展了Mahout在企业级数据处理中的应用范围。 ### 实施Mahout中的朴素贝叶斯分类器 在机器学习领域,朴素贝叶斯分类器是一种广泛使用的算法...
8. **API支持**:除了Web UI,Sqoop2 还提供了RESTful API 和Java API,使得开发者可以方便地集成到自己的应用程序中,自动化数据迁移过程。 9. **容错机制**:如果在数据传输过程中发生错误,Sqoop2 将尝试恢复...
在IT行业中,我们经常涉及到各种库和框架的集成与使用,这次我们关注的是"Atlas2.3.0"依赖的组件:"org.restlet/sqoop-1.4.6.2.3.99.0-195"。这个依赖包含了三个关键的JAR文件:`sqoop-1.4.6.2.3.99.0-195.jar`,`...
`java-json.jar` 是由Java JSON Processing API(JSR 353)提供的实现,通常包含`org.json`包,该包提供了一些类和接口,如`JSONObject`、`JSONArray`等,用于处理JSON对象。在Sqoop中,它可能用于将数据库记录转换...
版本2.10增加了对Scala 2.10的支持,同时也优化了生产者和消费者的API,提升了消息传递的效率和稳定性。 这些组件共同构成了一个强大的大数据处理环境。Zookeeper作为协调者,保证各个服务的正常运行;HBase提供了...