2013-02-28 47 views
3

我在大型機中有文件。我希望將這些數據推送到Hadoop(HDFS)/ HIVE。如何將數據從大型機拖到Hadoop中

我可以使用Sqoop大型機DB2數據庫,並導入到HIVE,但對於文件(如COBOLVASM等)

是否有任何自定義水槽源,我可以寫或者一些替代工具在這裏使用?

回答

8

COBOL是一種編程語言,而不是文件格式。如果您需要導出由COBOL程序生成的文件,則可以使用與通過C,C++,Java,Perl,PL/I,Rexx等生成這些文件相同的技術。

通常,您將有三個不同的數據源:平面文件,VSAM文件和DBMS(如DB2或IMS)。

DMBS具有導出實用程序將數據複製到平面文件。請記住,DB2中的數據可能會被標準化,因此您可能需要相關表格的內容才能理解數據。

可以通過IDCAMS實用程序將VSAM文件導出到平面文件。

我強烈建議您在將文件轉移到另一個具有不同代碼頁的框中之前,將文件轉換爲文本格式。試圖處理混合文本(必須翻譯其代碼頁)和二進制文件(不能翻譯其代碼頁,但可能必須將其從大端轉換爲小端)比預先轉換更困難。

轉換可能通過大型機上的SORT實用程序完成。大型機SORT實用程序往往具有廣泛的數據操作功能。您還可以使用其他機制(其他實用程序,用您選擇的語言編寫的自定義代碼,購買的軟件包),但這是我們在這些情況下傾向於執行的操作。

將所有數據轉換爲文本後,您可以通過FTP或SFTP或FTPS將它們傳輸到您的Hadoop框。

這不是一個詳盡的話題,但它會讓你開始。

+1

謝謝!那應該幫助我。 – azzaxp 2013-02-28 13:59:07

+1

如果我的VSAM文件中包含COM3內容,IDCAMS是否正常工作?另外,該工具如何實時或接近實時複製? – yathirigan 2016-11-16 08:59:46

+0

@yathirigan你想使用你的SORT工具來將壓縮的十進制(COMP-3)數據轉換爲可讀格式。實時複製可以通過調度一個作業以適當的時間間隔來完成,但是如果時間間隔非常短和/或VSAM文件很大,您可能需要查看其他解決方案。像Bill Woodger在[你的問題]中指出的那樣與技術人員交談(http://stackoverflow.com/questions/40627834/how-to-replicate-vsam-files-mainframe-to-database)。 – cschneid 2016-11-16 15:38:06

1

爲什麼不是:hadoop fs -put <what> <where>

+0

不是真的,我試圖自動化事物,在主機中有源代碼,即VSAM文件。如何將它們直接導出到Hadoop – azzaxp 2013-02-28 11:31:34

2

Syncsort一直在處理大型機數據已有40年(大約50%的大型機已經運行該軟件),他們有一個名爲DMX-H的特定產品,它可以獲取大型機數據,處理數據類型轉換,導入cobol副本並將其直接加載到HDFS中。 Syncsort最近還爲Apache Hadoop內核貢獻了一項新功能增強功能 我建議您通過www.syncsort.com與他們聯繫 他們在最近的Cloudera路演中的演示中展示了這一點。

+0

是開源嗎? – azzaxp 2013-05-06 06:45:50

+0

你有任何數字「50%的大型機已經運行[SyncSort]」? – 2014-05-05 12:43:21

0

cobol佈局文件的傳輸可以通過上面討論的選項完成。然而,實際將它們映射到Hive表是一項複雜的任務,因爲cobol佈局具有複雜的格式,例如從句,可變長度等。

我試圖創建自定義serde來實現,儘管它仍處於初始階段。但這裏是鏈接,這可能會給你一些想法如何根據你的要求進行反序列化。

https://github.com/rbheemana/Cobol-to-Hive

1

不拉,但推:從燕尾技術使用Co:Z Launcher

例如(JCL摘錄):

//FORWARD EXEC PGM=COZLNCH 
//STDIN DD * 
hadoop fs -put <(fromfile /u/me/data.csv) /data/data.csv 
# Create a catalog table 
hive -f <(fromfile /u/me/data.hcatalog) 
/* 

其中/u/me/data.csv(您在Hadoop的想要的基於主機的數據)和/u/me/data.hcatalog(對應HCatalog文件)是z/OS UNIX文件路徑。

有關數據碰巧是日誌記錄的更詳細示例,請參閱Extracting logs to Hadoop

相關問題