sqoop

不使用Sqoop流程,利用CacheManager直接完成SparkSQL数据流直接回写Oracle

ぐ巨炮叔叔 提交于 2020-02-03 16:02:39
以前都是使用Sqoop来完成数据从生成的hdfs数据存储上来抽取至oracle的数据库:sqoop抽取语句: sqoop export --connect "jdbc:oracle:thin:@ip:port:sid" --username 用户名 --password 密码 --table sid.表名 --export-dir hdfs://nameservice1/user/XXX(hdfs地址) --fields-terminated-by "\001" --null-non-string '' --null-string '' -m 10; 由于项目需求我们现在要完成在代码中省城所需字段之后,直接回写到oracle中,因为数据量每天都很大,用实例或者List存有很大的局限性,可能会出现内存异常等不可预料的东西,所以我通过缓存器机制来存储数据,然后进行生成结果的临时表直接回写(后面做的hbase接口封装批量提交也比较类似) 废话不多说直接上代码: 1、建立缓存实体 package usi.java.oracle; /** @author HK @date 2011-2-15 下午06:45:57 */ public class Cache { private String key; private Object value; private long timeOut;

2020年寒假假期总结0203

半腔热情 提交于 2020-02-03 15:46:55
  使用sqoop将hive中的统计数据导入到mysql中   思路:首先在hive上创建临时表,然后将统计数据放在临时表中,最后通过sqoop将临时表中的数据导入到mysql中。   例子:将各个官方部门回答的数量都导入到mysql中。   1.在hive中创建capital_temp表 create table capital_temp( object string, num int);   2.统计结果放入到临时表当中 insert capital_temp select object,count(1) as num from capital_info group by object   3.因为每个hive的表都在hdfs上有文件存储,所以我们只需将hdfs上的数据导入到mysql上即可。    bin/sqoop export --connect \ jdbc:mysql://192.168.133.130:3306/holiday2020?useUnicode=true\&characterEncoding=utf-8 \ --username root --password heiyang123 --table capital_temp \ --export-dir \ /user/hive/warehouse/capital_temp/000000_0 -

2020年寒假假期总结0201

别等时光非礼了梦想. 提交于 2020-02-01 20:45:31
  使用Sqoop将mysql数据传到hive   系统环境:hadoop2.65,mysql5.7.28,sqoop1.47,hive1.2.2,虚拟机centos7,物理机windows10    注意点:安装sqoop不要将目录设在hadoop下面,否则在运行下面命令时会发生找不到jar包的问题,我估计是系统将hadoop的lib目录认为成了sqoop的lib目录了。因为在我把相应的jar包放在hadoop的lib文件下时就可以通过,由于有很多jar包,所以一个jar找到了,又会有一个jar包找不到,所以建议不要放在hadoop目录下。   操作要求:将物理机的mysql数据转到虚拟机的mysql,然后使用sqoop将虚拟机的mysql转到hive中。   1.在物理机中使用Navicat的导出向导,获取sql文件,利用里面的建表语句,在虚拟机的mysql中建表,需要注意的是,linux的建表语句和windows有些许差异,比如:在编码的改动,需要将原来的编码utf8mb4_0900_ai_ci改成utf8_general_ci,utf8mb4改成utf8。   2.然后利用传输工具将sql文件传给虚拟机,然后虚拟机开启mysql,使用source命令调用sql文件,然后执行文件将所有数据插入mysql中。   3.然后我们在hive中创建相应的表

Sqoop

拟墨画扇 提交于 2020-01-30 22:54:38
Sqoop 一、sqoop安装部署 一、sqoop安装部署 官方地址:http://sqoop.apache.org/ (1)上传并解压包 (2)修改配置文件并在最下面添加如下内容 mv sqoop-env-template.sh sqoop-env.sh export HADOOP_COMMON_HOME=/usr/local/hadoop-2.7.2 export HADOOP_MAPRED_HOME=/usr/local/hadoop-2.7.2 export HIVE_HOME=/usr/local/hive-1.2.1 export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.10 export ZOOCFGDIR=/usr/local/zookeeper-3.4.10 export HBASE_HOME=/usr/local/hbase-1.3.1 (3)将mysql驱动添加到lib中 cp /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.27-bin.jar ./lib/ (4)验证Sqoop bin/sqoop help (5)测试Sqoop是否能够成功连接数据库 bin/sqoop list-databases --connect jdbc:mysql://hadoop114

第3章 大数据Sqoop安装

左心房为你撑大大i 提交于 2020-01-27 00:40:43
上篇: 第1章 Sqoop简介与Sqoop原理 安装Sqoop的前提是已经具备Java和Hadoop的环境。 1、下载并解压 (1)下载地址: http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/ (2)上传安装包 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 到虚拟机中 (3)解压sqoop安装包到指定目录,如:自己解压到: / usr/local/hadoop/module 文件目录下: [ root @hadoop105 hadoop ] # tar - zxvf sqoop - 1.4 .6 . bin__hadoop - 2.0 .4 - alpha . tar . gz - C / usr / local / hadoop / module / 2、 修改配置文件 Sqoop 的配置文件与大多数大数据框架类似,在 sqoop 根目录下的 conf 目录中 (1)重命名配置文件 [ root @hadoop105 conf ] # mv sqoop - env - template . sh sqoop - env . sh [ root @hadoop105 conf ] # ll total 28 - rw - rw - r -- . 1 root root 3895 Apr 27

sqoop导入MySQL中文乱码的问题

大城市里の小女人 提交于 2020-01-26 03:52:36
解决利用sqoop导入MySQL中文乱码的问题 cd /etc vi /etc/my.cnf 修改或者添加 [mysql] default-character-set=utf8 [client] default-character-set=utf8 [mysqld] default-character-set=utf8 character_set_server=utf8 init_connect=‘SET NAMES utf8’ 重启mysql 来源: CSDN 作者: v9ningmeng 链接: https://blog.csdn.net/weixin_44188196/article/details/103757612

Flume,Sqoop学习以及应用

依然范特西╮ 提交于 2020-01-22 10:17:51
目录 1.Flume是什么? 2.Flume如何搭建 3.Flume应用 4.Sqoop是什么? 5.使用Sqoop将HBase数据计算并导入MySql 学习文档参考: http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html 1.Flume是什么? Flume简单概括就是一个收集日志的工具,它可以通过调用接口,RPC,还有网页的一些操作进行日志的收集。它是一个分布式开源的Java编写的由Apache维护的项目。 2.Flume如何搭建 搭建前提条件 2.1下载并解压到指定目录 崇尚授人以渔的思想,我说给大家怎么下载就行了,就不直接放连接了,大家可以直接输入官网地址 http://flume.apache.org ,一般在官网的上方或者左边都会有Download按钮,这个在左侧,然后点进去下载想要的版本即可。 这个会有点慢,如果嫌弃的化,可以通过相关镜像网站进行下载,可以百度搜索软件镜像,就能搜到很多镜像网站,在里面就可以下载,如果你下载的东西属于Apache旗下的,可以看的有专门的一个Apache目录,里面存的都是Apache旗下相关产品。 可以先本地下载,然后通过ftp上传,也可以直接在服务器下载。 我这里下载好后,解压到了服务器/opt 目录下面,并修改了下目录名称为flume(你也可以不改

Sqoop基本语法简介

风格不统一 提交于 2020-01-18 11:19:56
1.查看命令帮助 [hadoop@hadoop000 ~]$ sqoop help usage: sqoop COMMAND [ARGS] Available commands: codegen Generate code to interact with database records create-hive-table Import a table definition into Hive eval Evaluate a SQL statement and display the results export Export an HDFS directory to a database table help List available commands import Import a table from a database to HDFS import-all-tables Import tables from a database to HDFS import-mainframe Import datasets from a mainframe server to HDFS job Work with saved jobs list-databases List available databases on a server list-tables List

Sqoop: How to deal with duplicate values while importing data from RDBMS to Hive tables

笑着哭i 提交于 2020-01-17 06:18:56
问题 Sqoop: How to deal with duplicate values while importing data from RDBMS to Hive tables. Or to deal with redundancy option if the values are already available in Hive Tables? 回答1: If your data has a unique identifier and you are running incremental imports you can specify it on the -mergeKey value of the import. This will merge the values that where already on the table with the newest one. The newer will override the oldest. If you are not running incremental imports you can use sqoop merge

Sqoop的概述与安装

て烟熏妆下的殇ゞ 提交于 2020-01-17 01:00:43
Sqoop的概述与安装 简介 Sqoop是连接RDBMS关系型数据库与Hadoop的桥梁,可以将关系型数据库(MySQL、Oracle)中的数据与Hadoop中的(Hbase、Hive)数据相互转换。 可以高效、可控的利用资源,控制任务发生的并发数,配置数据库的访问时间等 可自动完成数据类型转化与映射 利用MapReduce加快数据的传输速度,使用批处理的方式 4.导入(import) 从传统的数据库中读取元数据信息(Schema、table、Field、field type),把导入功能转化为只有Map 的MapReduce,每个Map获取一块数据,多个数据块并行传输 导出(export) 获取导出表的schema、metahdfs信息,和Hadoop中的字段match;多个map only作业同时进行,完成hdfs中数据导出到关系型数据库 安装 官网下载两个包,地址:http://mirror.bit.edu.cn/apache/sqoop/ 传输到Linux的目录下 配置环境变量 vi /etc/profile export SQOOP_HOME=/home/hadoop/sqoop-1.4.7 export PATH=/home/yoodb/mysql/bin: S Q O O P H O M E / b i n : SQOOP_HOME/bin: S Q O O P H