1. 程式人生 > >oozie中排程sqoop

oozie中排程sqoop

建立目錄sqoop,以下所有目錄和檔案都放在sqoop目錄下。

1.建立目錄lib,拷貝msql的jar包到該目錄

mysql-connector-java.jar

2.job.properties檔案

內容如下:

nameNode=hdfs://ip-150:8020
jobTracker=ip-150:8032
queueName=default
oozieappsRoot=user/hue/oozie-apps
DataRoot=user/hue/oozie/datas

oozie.use.system.libpath=true

oozie.wf.application.path=${nameNode}/${oozieappsRoot}/sqoop/workflow.xml
outputDir=sqoop/output

3. workflow.xml

<workflow-app xmlns="uri:oozie:workflow:0.5" name="sqoop-wf">
    <start to="sqoop-node"/>
 
    <action name="sqoop-node">
          <sqoop xmlns="uri:oozie:sqoop-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
                <property>
                  <name>mapred.job.queue.name</name>
                  <value>${queueName}</value>
                </property>
                <property>
                  <name>hive.metastore.uris</name>
                  <value>thrift://ip-150:9083</value>
                </property>
            </configuration>
            
              <arg>import</arg>
              <arg>--connect</arg>
              <arg>jdbc:mysql://10.39.21.95:3306/test</arg>
              <arg>--username</arg>
              <arg>xxx</arg>
              <arg>--password</arg>
              <arg>cccc</arg>
              <arg>--query</arg>
              <arg>SELECT * from user where 1=1 and $CONDITIONS </arg>
              <arg>--fields-terminated-by</arg>
              <arg>\t</arg>
              <arg>-m</arg>
              <arg>2</arg>
              <arg>--hive-database</arg>
              <arg>huetest</arg>
              <arg>--hive-table</arg>
              <arg>autouser</arg>
              <arg>--hive-import</arg>
              <arg>--hive-overwrite</arg>
              <arg>--split-by</arg>
              <arg>id</arg>
              <arg>--target-dir</arg>
              <arg>/user/hive/warehouse/huetest.db/autouser</arg>
        </sqoop>
        <ok to="end"/>
        <error to="fail"/>
    </action>
 
    <kill name="fail">
        <message>Sqoop failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

這裡需要注意,sqoop的所有引數以arg的方式傳入,否則會報錯"unrecgnized argu……balabala"。如果哪個小夥伴實驗command方式傳入成功了,麻煩給我留言告訴我怎麼配置的,先謝謝了。

3.上傳檔案到hdfs檔案系統

4.執行

export OOZIE_URL=http://ip-150:11000/oozie/
oozie job --config sqoop/job.properties -run

然後開啟oozie的web頁面可以看到執行狀態以及hadoop的日誌:

http://ip-150:11000/oozie

相關推薦

oozie排程sqoop

建立目錄sqoop,以下所有目錄和檔案都放在sqoop目錄下。 1.建立目錄lib,拷貝msql的jar包到該目錄 mysql-connector-java.jar 2.job.properties檔案 內容如下: nameNode=hdfs://ip-150:80

Oozie 排程執行shell、hive 指令碼,以及通過shell指令碼執行hive/sqoop/shell指令碼的方法

  最近專案需要用到OOzie工具,可是找了好久,也沒有找到一個完整的、統一的解決和部署方案。經過努力,終於打通了其中的所有環節,解決了各種坑爹的問題。   首先,就專案需求做一個簡單的介紹:      專案需要從mysql中匯入資料到hive進行離線計算後,再導回到mys

CDHoozie 定時排程sqoop job

在資料開發中,由於資料量非常的大,有時候需要將關係型資料庫(Oracle/Postgresql/Mysql等)中的表匯入到hdfs中進行分散式儲存。本文就oozie定時呼叫sqoop job從oracle庫中增量匯入資料至hive表具體操作記錄一下: 首先,準備工作是在HD

oozie排程sqoop踩坑之路(hue配置)

背景: 通過oozie來排程管理sqoop資料抽取流程,一般有兩種方法:一是直接使用oozie的sqoop-action,二是將sqoop語句寫在shell指令碼中,通過shell-action來排程。經過測試,sqoop-action實在是坑多,故採用坑相對

oozie如何rerun一個workflow

sin pos pan blog flow job style str workflow 在oozie中有Bundle、Coordinator和Workflow三種類型的job,他們之間可以有以下包含關系。 Bundle > Coordinator > Wor

Hive如何添加自定義UDF函數以及oozie使用hive的自定義函數

步驟 strong 重啟 一個 文件夾 spa nlog hdfs share 直接來說操作步驟: 1. 修改.hiverc文件 在hive的conf文件夾下面,如果沒有.hiverc文件,手工自己創建一個。 參照如下格式添加: add jar /usr/loc

Java排程執行緒池ScheduledThreadPoolExecutor原理探究

一、 前言 前面講解過Java中執行緒池ThreadPoolExecutor原理探究,ThreadPoolExecutor是Executors中一部分功能,下面來介紹另外一部分功能也就是ScheduledThreadPoolExecutor的實現,後者是一個可以在一定延遲時候或者定時進行任務排

【解決】Oozie排程Hive程式時,出現Job狀態一直是ACCEPTED!

Oozie在排程Hive程式時,出現Job狀態一直是ACCEPTED!網上查閱資料說是記憶體不足問題,我改了yarn-site.xml配置檔案 : <property> <name>mapreduce.map.memory.mb</name>

oozie 定時排程時區設定

oozie是hadoop的工作流,能夠排程hadoop的相關任務,在這裡說一下oozie的時區問題。 時區概念 大家應該知道,地球上按照經緯度將地球劃分為二十四個時區(東、西各12個時區),每兩個相鄰的時區間時間上相差1小時。 標準時間概念 UTC是世界標準時間,

oozie定時排程的配置說明第一篇

如果需要做一個迴圈的定時排程,基本的需要三個檔案 job.properties 記錄了job的屬性workflow.xml 使用hPDL 定義任務的流程和分支coordinator.xml 主要用來做workflow的觸發條件,來做定時觸發,也可以組合多個workflow

工作sqoop匯入匯出hive,mysql 出現的問題.

1.從mysql匯入到Hive 出現數據帶入錯誤:當欄位中存在輸入tab鍵,會被hive識別多建立一條欄位。 解決:sqoop import 語句中 新增  --hive-drop-import-delims 來把匯入資料中包含的hive預設的分隔符去掉。 2.出現PRIM

Oozie任務排程框架詳解及使用簡介(一)

摘要:個人最近一段時間一直在使用oozie,從剛開始的各種彆扭到現在越來越覺得有意思的情況下,想整理一下關於oozie的認知,整理出來一個oozie系列,本來市面上關於oozie的資料就比較少,希望寫完後能形成自己對oozie的獨特理解和加強整體性的把握. 一.常見的排程框架 1.1.crontab定時器

關於使用oozie做任務排程的問題。出現SQOOP from Oracle Connection reset error(從oracle匯入資料到HDFS上面)

最近在做通過sqoop 將oracle資料庫當中的資料匯入的HDFS上面,但是當我序列的時候是沒有一點問題的。但是為了達到叢集當中資源的額最大的使用率。想讓匯入資料做成並行去處理。在做並行的時候,有時候是好的,有時候就出錯,這樣不穩定的系統真的頭大。出現的問題如下: 8/10/29 15:01:03

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

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

利用Sqoop將MySQL數據導入Hive

sqoop參考http://www.cnblogs.com/iPeng0564/p/3215055.htmlhttp://www.tuicool.com/articles/j2yayyjhttp://blog.csdn.net/jxlhc09/article/details/168568731.list da

利用sqoop從 hive往mysql中導入表出現的問題

ive ptr 解析 修改 技術 字段 map temp article 這個錯誤的原因是指定Hive中表字段之間使用的分隔符錯誤,供Sqoop讀取解析不正確。如果是由hive執行mapreduce操作匯總的結果,默認的分隔符是 ‘\001‘,否則如果是從HDFS文件導入

oozie無法識別hadoopHA的ns1

無法 tex error: detail core XML oop hadoop配置 clas [hadoop@dwdev-name1 m_goods_sale_detail]$ oozie job -config job.properties -run Error:

關於sqoop導入數據到hive數據庫當中,表數據為空倒入hive當中的處理

轉化 hive數據庫 是不是 技術 關於 trim 如果 col 去掉 今天在hive數據庫當中查詢一張表,查詢數據為空的值,但是死活就是匹配不到: 查詢語句如下: select * from loan_repayment_detail where trim(fact_

企業應用的作業排程

第一章.  企業應用中的作業排程    ·什麼是作業排程    ·作業排程為什麼說是重要的    ·企業應用中的作業排程    ·非企業應用中的作業排程 &

利用sqoop將hive資料匯入Oracle(踩的坑)

教程很多,這裡只說踩過的坑 1.下載sqoop時,還得下一個bin的包,拿到sqoop-1.4.6.jar 的包,放到hadoop的lib目錄下 2.匯入oracle,執行程式碼時,使用者名稱和表名必須大寫!且資料庫建表時表名必須大寫!  示例程式碼: sqoop expo