avro文件导入到hive_XML到Avro的转换
avro文件導入到hive
我們都知道XML是正確的嗎? 以防萬一,這就是所有問題。
現在,計算機真正需要的是數字5及其周圍的環境。 在XML中,您(人類和計算機)可以看到它如何表示五個上下文。 現在假設您有一個像FPML這樣的業務XML文檔
<FpML xmlns="http://www.fpml.org/2007/FpML-4-4" xmlns:fpml="http://www.fpml.org/2007/FpML-4-4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="4-4" xsi:schemaLocation="http://www.fpml.org/2007/FpML-4-4 ../fpml-main-4-4.xsd http://www.w3.org/2000/09/xmldsig# ../xmldsig-core-schema.xsd" xsi:type="RequestTradeConfirmation"> <!-- start of distinct --> <strike> <strikePrice>32.00</strikePrice> </strike> <numberOfOptions>150000</numberOfOptions> <optionEntitlement>1.00</optionEntitlement> <equityPremium> <payerPartyReference href="party2"/> <receiverPartyReference href="party1"/> <paymentAmount> <currency>EUR</currency> <amount>405000</amount> </paymentAmount> <paymentDate> <unadjustedDate>2001-07-17Z</unadjustedDate> <dateAdjustments> <businessDayConvention>NONE</businessDayConvention> </dateAdjustments> </paymentDate> <pricePerOption> <currency>EUR</currency> <amount>2.70</amount> </pricePerOption> </equityPremium> </equityOption> <calculationAgent> <calculationAgentPartyReference href="party1"/> </calculationAgent> <documentation> <masterAgreement> <masterAgreementType>ISDA2002</masterAgreementType> </masterAgreement> <contractualDefinitions>ISDA2002Equity</contractualDefinitions> <!--populate credit support document with correct value --> <creditSupportDocument>TODO</creditSupportDocument> </documentation> <governingLaw>GBEN</governingLaw> </trade> <party id="party1"> <partyId>Party A</partyId> </party> <party id="party2"> <partyId>Party B</partyId> </party> </FpML>那是很多額外的不必要的數據點。 現在,讓我們使用Apache Avro進行研究 。
使用Avro,上下文和值是分開的。 這意味著信息的架構/結構不會一遍又一遍地(一遍又一遍)地存儲或流式傳輸。
Avro模式已散列。 因此,數據結構僅保留值,并且計算機可以理解架構的指紋(哈希),并且可以使用指紋來檢索架構。
0x d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592這種類型的實現在數據空間中非常典型。
執行此操作時,您可以將數據減少20%-80%。 當我告訴人們時,他們立即問:“為什么有這么大的未知數缺口”。 答案是因為并非每個XML都是一樣的。 但這是問題所在,因為您正在復制計算機理解數據所需的信息。 XML對人類來說很不錯,當然……但這并不是為計算機優化的。
這是我們正在https://github.com/stealthly/xml-avro上工作的轉換器,以幫助人們擺脫XML的束縛,進入成本更低的開源系統。 這使您可以使用XML保留系統的某些部分(特別是域業務代碼),而不必進行更改(減輕風險),而以較少的開銷存儲和傳輸數據(優化預算)。
翻譯自: https://www.javacodegeeks.com/2014/03/xml-to-avro-conversion.html
avro文件導入到hive
總結
以上是生活随笔為你收集整理的avro文件导入到hive_XML到Avro的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓工具包下载(安卓工具包)
- 下一篇: soap签名_签名SOAP消息–生成封装