oracle - 不使用 Scoop 将 Oracle 数据存储到 hadoop 层

标签 oracle hadoop hive sqoop

我尝试使用以下脚本将 oracle 输出保存到 hadoop 空间中的文本文件中。

#!/bin/bash
DBUSER='scott'
DBUSERPASSWORD='tiger'
DB='oracle'

sqlplus -s <<EOF
${DBUSER}/${DBUSERPASSWORD}@${MYDB}
set linesize 32767
set feedback off
set heading off

select * from dual;

EOF

hive -f HiveQueries.hql

脚本是从 Hive 命令提示符调用的,有没有办法将上述查询的输出作为文件保存在 hive 目录中,我知道我的 oracle 服务器不同,需要更改编码。 但是我不想使用 sqoop,而是想将输出文件保存到 hadoop 中

最佳答案

当您可以使用 JDBC 连接将 Oracle 数据直接“抽取”到 Hive 表中时,为什么要使用命令行实用程序(顺便说一下,一个需要许可费的胖 Oracle 客户端) 和文本文件??

https://github.com/qubole/Hive-JDBC-Storage-Handler

关于oracle - 不使用 Scoop 将 Oracle 数据存储到 hadoop 层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34154480/

相关文章:

java - 应用进化脚本(JPA 和 Ebean 版本)时,New I/O Worker #1 中出现框架错误

java - 如何将 IN 参数指定为 TABLE 类型的 Oracle 数据类型?

hadoop - 分区! hadoop是怎么做到的?使用哈希函数?默认功能是什么?

compression - 如何让 Hive 与 bz2 一起工作?

hadoop - Hive 根据文件名创建表分区

hadoop - 子查询中的子查询在配置单元中不起作用

sql - 从文本 regexp_substr 中删除第二个引号

java - 找出谁删除了数据库中的行

hadoop - Hadoop无法连接到Map/Reduce位置:本地主机

java - 带有 parseDouble 的 Hadoop Mapreduce 代码在一个系统中给出异常,但在其他系统中运行良好?