1. 程式人生 > >使用 Sqoop 使HDFS Informix 資料可以互相寫入

使用 Sqoop 使HDFS Informix 資料可以互相寫入

1.下載sqoop-1.3.0-cdh3u6.tar.gz,實驗中所有hadoop相關子專案都是cdh版,解壓到指定目錄。

[[email protected] software]$ tar -xvf sqoop-1.3.0-cdh3u6.tar.gz

 2.複製informix驅動到sqoop lib目錄下。

[[email protected] software]$ cp ifxjdbc.jar ../hbase/sqoop-1.3.0-cdh3u6/lib/

3.編輯hdfs資料匯出到informix資料庫指令碼:

(3.1)informix資料匯入hdfs檔案的指令碼:

[[email protected]
software]$ vi informixtohdfs.sh #連線字串 driverUrl="jdbc:informix-sqli://10.132.30.9:9088/XXXXX:informixserver=XXXXX;user=XXXXX;password=XXXXX" #要匯出的表名 informixTableName="customermanager_user" #要儲存的位置 hdfsPath=/user/hadoop/test/customermanager_user #Informix 使用者:Sqoop 將單詞計數的結果寫入 Informix ./sqoop import --append --connect $driverUrl --driver com.informix.jdbc.IfxDriver --target-dir $hdfsPath --table $informixTableName --fields-terminated-by '|'
  
(3.1.1)執行指令碼
[[email protected] bin]$ sh hdfstoinformix.sh 
temp table:.
13/07/03 18:08:03 INFO manager.SqlManager: Using default fetchSize of 1000
13/07/03 18:08:03 INFO tool.CodeGenTool: Beginning code generation
13/07/03 18:08:12 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM zhoupeng AS t WHERE 1=0
13/07/03 18:08:12 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM zhoupeng AS t WHERE 1=0
13/07/03 18:08:12 INFO orm.CompilationManager: HADOOP_HOME is /opt/hadoop/hadoop-0.20.2-cdh3u6
13/07/03 18:08:14 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-hadoop/compile/bdafd8b074d8de2ecdc2da071f06b3ee/zhoupeng.jar
13/07/03 18:08:14 INFO mapreduce.ExportJobBase: Beginning export of zhoupeng
13/07/03 18:08:14 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM zhoupeng AS t WHERE 1=0
13/07/03 18:08:16 INFO input.FileInputFormat: Total input paths to process : 1
13/07/03 18:08:16 INFO input.FileInputFormat: Total input paths to process : 1
13/07/03 18:08:16 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
13/07/03 18:08:16 WARN snappy.LoadSnappy: Snappy native library not loaded
13/07/03 18:08:16 INFO mapred.JobClient: Running job: job_201307030829_0020
13/07/03 18:08:17 INFO mapred.JobClient:  map 0% reduce 0%
13/07/03 18:08:58 INFO mapred.JobClient:  map 25% reduce 0%
13/07/03 18:08:59 INFO mapred.JobClient:  map 100% reduce 0%
13/07/03 18:08:59 INFO mapred.JobClient: Job complete: job_201307030829_0020
13/07/03 18:08:59 INFO mapred.JobClient: Counters: 17
13/07/03 18:08:59 INFO mapred.JobClient:   Job Counters 
13/07/03 18:08:59 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=159574
13/07/03 18:08:59 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
13/07/03 18:08:59 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
13/07/03 18:08:59 INFO mapred.JobClient:     Rack-local map tasks=2
13/07/03 18:08:59 INFO mapred.JobClient:     Launched map tasks=4
13/07/03 18:08:59 INFO mapred.JobClient:     Data-local map tasks=2
13/07/03 18:08:59 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=0
13/07/03 18:08:59 INFO mapred.JobClient:   FileSystemCounters
13/07/03 18:08:59 INFO mapred.JobClient:     HDFS_BYTES_READ=62373
13/07/03 18:08:59 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=259358
13/07/03 18:08:59 INFO mapred.JobClient:   Map-Reduce Framework
13/07/03 18:08:59 INFO mapred.JobClient:     Map input records=198
13/07/03 18:08:59 INFO mapred.JobClient:     Physical memory (bytes) snapshot=147419136
13/07/03 18:08:59 INFO mapred.JobClient:     Spilled Records=0
13/07/03 18:08:59 INFO mapred.JobClient:     CPU time spent (ms)=1120
13/07/03 18:08:59 INFO mapred.JobClient:     Total committed heap usage (bytes)=52822016
13/07/03 18:08:59 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=1377308672
13/07/03 18:08:59 INFO mapred.JobClient:     Map output records=198
13/07/03 18:08:59 INFO mapred.JobClient:     SPLIT_RAW_BYTES=536
13/07/03 18:08:59 INFO mapreduce.ExportJobBase: Transferred 60.9111 KB in 44.9075 seconds (1.3564 KB/sec)
13/07/03 18:08:59 INFO mapreduce.ExportJobBase: Exported 198 records.


(3.2)hdfs資料匯入到informix資料庫中:本次測試匯入的資料是建立在(3.1)的基礎上。
[[email protected] software]$ vi hdfs2toinformix.sh
#連線字串
driverUrl="jdbc:informix-sqli://10.132.30.9:9088/XXXXX:informixserver=XXXXX;user=XXXXX;password=XXXXX"
#要匯出的表名
informixTableName="customermanager_user"
#要儲存的位置
hdfsPath=/user/hadoop/test/customermanager_user/
#Informix 使用者:Sqoop 將hdfs中的資料匯入Informix
./qoop export -D sqoop.export.records.per.statement=1 \
--driver com.informix.jdbc.IfxDriver \
--connect $driverUrl \
--table $informixTableName --export-dir $hdfsPath

[[email protected] bin]$ sh informixtohdfs.sh 
13/07/03 18:11:28 INFO manager.SqlManager: Using default fetchSize of 1000
13/07/03 18:11:28 INFO tool.CodeGenTool: Beginning code generation
13/07/03 18:11:37 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM zhoupeng AS t WHERE 1=0
13/07/03 18:11:37 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM zhoupeng AS t WHERE 1=0
13/07/03 18:11:38 INFO orm.CompilationManager: HADOOP_HOME is /opt/hadoop/hadoop-0.20.2-cdh3u6
13/07/03 18:11:39 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-hadoop/compile/e49a8928b471a2bfeb2c5beca5ca1194/zhoupeng.jar
13/07/03 18:11:39 INFO mapreduce.ImportJobBase: Beginning import of zhoupeng
13/07/03 18:11:39 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM zhoupeng AS t WHERE 1=0
13/07/03 18:11:51 INFO mapred.JobClient: Running job: job_201307030829_0022
13/07/03 18:11:52 INFO mapred.JobClient:  map 0% reduce 0%
13/07/03 18:12:06 INFO mapred.JobClient:  map 100% reduce 0%
13/07/03 18:12:06 INFO mapred.JobClient: Job complete: job_201307030829_0022
13/07/03 18:12:06 INFO mapred.JobClient: Counters: 16
13/07/03 18:12:06 INFO mapred.JobClient:   Job Counters 
13/07/03 18:12:06 INFO mapred.JobClient:     SLOTS_MILLIS_MAPS=13439
13/07/03 18:12:06 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0
13/07/03 18:12:06 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0
13/07/03 18:12:06 INFO mapred.JobClient:     Launched map tasks=1
13/07/03 18:12:06 INFO mapred.JobClient:     SLOTS_MILLIS_REDUCES=0
13/07/03 18:12:06 INFO mapred.JobClient:   FileSystemCounters
13/07/03 18:12:06 INFO mapred.JobClient:     HDFS_BYTES_READ=87
13/07/03 18:12:06 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=64797
13/07/03 18:12:06 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=152064
13/07/03 18:12:06 INFO mapred.JobClient:   Map-Reduce Framework
13/07/03 18:12:06 INFO mapred.JobClient:     Map input records=594
13/07/03 18:12:06 INFO mapred.JobClient:     Physical memory (bytes) snapshot=37494784
13/07/03 18:12:06 INFO mapred.JobClient:     Spilled Records=0
13/07/03 18:12:06 INFO mapred.JobClient:     CPU time spent (ms)=300
13/07/03 18:12:06 INFO mapred.JobClient:     Total committed heap usage (bytes)=15007744
13/07/03 18:12:06 INFO mapred.JobClient:     Virtual memory (bytes) snapshot=344674304
13/07/03 18:12:06 INFO mapred.JobClient:     Map output records=594
13/07/03 18:12:06 INFO mapred.JobClient:     SPLIT_RAW_BYTES=87
13/07/03 18:12:06 INFO mapreduce.ImportJobBase: Transferred 148.5 KB in 26.4893 seconds (5.606 KB/sec)
13/07/03 18:12:06 INFO mapreduce.ImportJobBase: Retrieved 594 records.


相關推薦

使用 Sqoop 使HDFS Informix 資料可以互相寫入

1.下載sqoop-1.3.0-cdh3u6.tar.gz,實驗中所有hadoop相關子專案都是cdh版,解壓到指定目錄。[[email protected] software]$ tar -xvf sqoop-1.3.0-cdh3u6.tar.gz  2.

SqoopHDFS、Hive、Hbase等系統的資料同步操作

Sqoop與HDFS結合         下面我們結合 HDFS,介紹 Sqoop 從關係型資料庫的匯入和匯出。 Sqoop import        

【python 資料寫入hdfs】windows使用python hdfs模組寫入hdfs的一個坑

目標:在windows平臺數據框寫入hdfs # -*- encoding=utf-8 -*- import hdfs import datetime import pandas as pd impo

在hadoop 裡安裝 sqoop 並把mysql資料匯入hdfs

hadoop 2.6.0 sqoop:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 然後把sqoop 解壓。這裡解壓發生的問題是, tar: /home/luis:歸檔中找不到 tar: 由於前次錯誤,將以上次的錯誤狀態退出 ta

Spark 修改整列資料型別+寫入資料到HDFS

Spark 修改dataset整列資料型別 import org.apache.spark.sql.types.IntegerType geoans.select(geoans.col("poi

使用sqoopHDFS資料匯出到RDBMS,map100%reduce0%問題

time:2016/12/29 場景:將hive中的資料匯出到oracle資料庫中 遇到的問題: 使用oozie跑job的時候,一直處於running狀態。實際上資料量很小,而且語句也不復雜。 檢視日

MapReduce中,從HDFS讀取資料計算後寫入HBase

基於上個例子。做一下簡單的改造。在原本的例子中,從HDFS中讀取資料計算之後再寫會HDFS裡,現在講Reducer類改造一下,把計算後的資料。寫入到HBase當中,寫完之後我們會使用HBase的命令查詢一下寫入資料。開啟原有的Reducer類,程式碼如下:import org

向HBase中匯入資料3:使用MapReduce從HDFS或本地檔案中讀取資料寫入HBase(增加使用Reduce批量插入)

前面我們介紹了:為了提高插入效率,我們在前面只使用map的基礎上增加使用reduce,思想是使用map-reduce操作,將rowkey相同的項規約到同一個reduce中,再在reduce中構建put物件實現批量插入測試資料如下:注意到有兩條記錄是相似的。package cn

使用sqoop命令把oracle資料匯入hdfs/hbase/hive

(一)匯入HDFS建立Job#!/bin/bash #Oracle的連線字串,其中包含了Oracle的地址,SID,和埠號 CONNECTURL=jdbc:oracle:thin:@10.122.5.2:1521:db #使用的使用者名稱 ORACLENAME=db #使用的

HDFS 中向 DataNode 寫入資料失敗了怎麼辦

如果向DataNode寫入資料失敗了怎麼辦? 如果這種情況發生,那麼就會執行一些操作: ① Pipeline資料流管道會被關閉,ACK queue中的packets會被新增到data queue的前面以確保不會發生packets資料包的丟失 ② 在正常的D

Sqoop_詳細總結 使用SqoopHDFS/Hive/HBase與MySQL/Oracle中的資料相互匯入、匯出

一、使用Sqoop將MySQL中的資料匯入到HDFS/Hive/HBase 二、使用Sqoop將HDFS/Hive/HBase中的資料匯出到MySQL2.3HBase中的資料匯出到mysql目前沒有直

Sqoop_具體總結 使用SqoopHDFS/Hive/HBase與MySQL/Oracle中的數據相互導入、導出

能夠 mes south ase form html 技術 popu 沒有 一、使用Sqoop將MySQL中的數據導入到HDFS/Hive/HBase 二、使用Sqoop將HDFS/Hive/HBase中的數據導出到MySQL 2.3 HBase中的數據

劃分vlan,制作trunk口。使同一vlan能互相通訊

vlan劃分trunk以太網通道實驗項目: 劃分VLAN,制作trunk口以及以太網通道,使其同一VLAN能夠互相通訊。實驗經過:1:首先我們需要知道什麽是VLAN 。什麽是trunk和以太網通道。 VLAN是一種邏輯分隔,是將網絡從邏輯上劃分為若幹個小的虛擬網絡,它工作在數據鏈路層,一個VLAN就是一個交換

Hadoop基礎-HDFS的讀取與寫入過程剖析

簡要介紹 ron data 訪問 如果 上傳數據 4.2 客戶端訪問 文件寫入                 Hadoop基礎-HDFS的讀取與寫入過程剖析                                      作者:尹正傑 版權聲明:原創作品,謝絕轉

Structure Streaming和spark streaming原生API訪問HDFS檔案資料對比

此文已由作者嶽猛授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 Structure Stream訪問方式 code examples import org.apache.spark.sql.streaming._ val df = spark.

HDFS資料的詳細流程

寫資料 1、 client 發起檔案上傳請求,通過 RPC 與 NameNode 建立通訊,NameNode檢查目標檔案是否已存在,父目錄是否存在,返回是否可以上傳; 2、 client 請求第一個 block 該傳輸到哪些 DataNode 伺服器上; 3、 NameNode 根據配置檔案中指

mongo-spark-讀取不同的庫資料寫入不同的庫中

mongo-spark-讀取不同的庫資料和寫入不同的庫中 package com.example.app import com.mongodb.spark.config.{ReadConfig, WriteConfig} import com.mongodb.spark.sql._ object

hdfs複製資料到本地伺服器+本地伺服器複製資料到遠端伺服器+重新命名檔案

1. hdfs複製資料到本地伺服器 hdfs dfs -copyToLocal hdfs://IP地址:8020/user/使用者名稱/資料 /home/使用者名稱/ 這裡使用-copyToLocal 將hdfs資料複製到本地伺服器。 2. 從本地伺服器複製資料到遠端伺服器

R語音 rvest爬取中國天氣網所有城市未來七天天氣資料寫入oracle資料庫

    本文使用R語音 rvest爬取中國天氣網所有城市未來七天天氣資料並寫入oracle資料庫,其中包括瞭如何使用R語言連線oracle資料庫,以及爬取時候的簡單策略,最後對爬取到的資料組裝成資料框並寫入資料庫,可以作為R語音初中級愛好者們很好的參考例子,當然這是我很久前寫

PCL學習筆記——讀入txt格式點雲資料寫入到PCD檔案中

讀入txt格式點雲資料,寫入PCD檔案中 // An highlighted block // pointclouds_octree.cpp: 定義控制檯應用程式的入口點。 // #include "stdafx.h" #include<iostream> #include