2017-04-26 119 views
1

我在我的hdfs上有一個簡單的管道分隔文件(newfile.txt),我已經正確配置了我的polybase。我很難用Polybase將這個文件導入到我的SQL Server中。下面是查詢:SQL Server 2016 polybase錯誤使用hadoop

首先被創建的外部文件格式:

CREATE EXTERNAL FILE FORMAT TextFile 
WITH ( 
    FORMAT_TYPE = DELIMITEDTEXT 
    , FORMAT_OPTIONS (Field_Terminator = '|', 
     USE_TYPE_DEFAULT = TRUE)); 

其次,將創建用於Hadoopcluster數據源:

CREATE EXTERNAL DATA SOURCE HadoopCluster 
    WITH ( 
     TYPE = HADOOP, 
     LOCATION = 'hdfs://10.153.14.11:8020' 
    ) 

最後,創建外部表,其從hdfs導入數據:

create external table tmpExternal 
(
    patientEncounter varchar(8000), 
    PtAcctNo varchar(200)) 
    with (location = '/user/newfolder/', 
      data_source = HadoopCluster, 
      file_format = TextFile, 
      reject_type = value, 
      reject_value = 0); 

運行上面的查詢後,這裏是我最終得到了錯誤:

消息596,級別21,狀態1,行26
因爲會議是在擊殺狀態 無法繼續執行。

消息0,級別20,狀態0,行26
當前命令發生嚴重錯誤。如果有的話,結果應該被丟棄。

我相信磁盤空間沒有問題。請協助。

更新: 正在使用HDP 2.5版本。我已成功安裝了Polybase,這是我嘗試從hdfs導入的第一個外部表。

txt文件格式有2行2列:

1234 | ABCD

5676 | EFGH

+0

你能張貼一些樣本數據嗎?此外,你是否[安裝並啓用](https://docs.microsoft.com/en-us/sql/relational-databases/polybase/get-started-with-polybase)Polybase?你有其他的外部表是否能夠成功工作,或者這是第一個嗎?在安全方面,你如何連接? Hadoop安裝的版本是什麼(Hortonworks HDP x.x或Cloudera CDH)? – wBob

+0

您的外部數據源定義中沒有'CREDENTIAL'? – wBob

+0

更新:正在使用HDP 2.5版本。我已成功安裝了Polybase,這是我嘗試從hdfs導入的第一個外部表。 格式txt文件的有2行2列: 1234 | ABCD 5676 | EFGH – user3838498

回答

0

你得到這個固定的?我剛剛花了3周的時間與SQL產品組一起追蹤這個問題。

就我而言,我們設置了EVENT NOTIFICATIONS來通知DDL變更。這是他們的代碼中的一個bug,將成爲未來的CU。如果您有活動通知,請放下它們並重試。

希望這會有所幫助。

+0

任何與這個問題運氣?我們正嘗試將使用polybase的由mdf文件支持的SQL表中的500萬條記錄移動到外部表。它以相同的錯誤失敗。在此例外之前,我們可以看到mpdwsvc.exe在數據庫服務器中崩潰。 –