在通過oozie呼叫sqoop action從db匯入資料到hive表的時候,發現了異常。
使用sqoop命令列執行卻沒有報錯。
我翻查了源**,發現
hive
會做乙個強制校驗,校驗
uri的
scheme
值,特別是在
sqoop
的時候,會生成乙個hive指令碼,在做
load data local inpath
的時候進行scheme的校驗。
我也翻查了所有讀取配置,都是配置成一樣的dns,大寫的。
(scheme
也就是乙個
hdfs
位址的namenode
位址部分。)
如果發現scheme不一樣,如,大小寫不一致,就會出現
path is not legal
的exception
機器名規範要求大寫,那
dns也隱射的值也要一致大寫嗎?這樣有可能會導致
load data local
失敗的。
這裡作為乙個隱患提出來。
hive
的校驗**:
// only in 'local' mode do we copy stuff from one place to another.
// reject different scheme/authority in other cases.
if (!islocal
&& (!stringutils.equals(fromuri.getscheme(), touri.getscheme()) || !stringutils
.equals(fromuri.getauthority(), touri.getauthority())))
如果有知道的朋友請告訴我,怎麼解決這個問題,謝謝~
linux環境程式設計 環境變數 列印環境變數
在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...
環境變數PATH和環境變數PATHEXT的還原
一,計算機 屬性 高階系統設定 環境變數 然後在系統變數裡新建變數pathext通常預設值為.com exe bat cmd vbs vbe js jse wsf wsh 二,系統變數中新建變數path預設值可以通過以下步驟進行 1 按win r,輸入regedit 2 在登錄檔裡,定位到hkey ...
了解環境變數並設定環境變數
設定環境變數前,我們先了解一下什麼是環境變數。環境變數是當要求系統執行乙個程式而沒有告訴它程式所在的完整路徑時,系統除了在當前目錄下面尋找此程式外,還應到path中指定的路徑去找 環境變數分為系統環境變數和使用者環境變數。環境變數是指系統環境變數,對所有使用者起作用 而使用者環境變數只對當前使用者起...