XML到Avro的转换
我们都知道XML是正确的吗? 以防万一,这里的一切都没问题。
<root>
<node>5</node>
</root>
现在,计算机真正需要的是数字5及其周围的环境。 在XML中,您(人和计算机)可以看到它如何表示五个上下文。 现在假设您有一个业务XML文档,例如FPML
<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
XML到Avro的转换相关推荐
- avro文件导入到hive_XML到Avro的转换
avro文件导入到hive 我们都知道XML是正确的吗? 以防万一,这就是所有问题. <root> <node>5</node> </root> 现在, ...
- XML,Object,Json分析转换Xstream采用
XML,Object,Json转换之浅析Xstream的使用 请尊重他人的劳动成果,转载请注明出处:XML,Object,Json转换之浅析Xstream的使用 XStream的是一个简单的库.主要用 ...
- [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换(转)
转自:[CXF REST标准实战系列] 一.JAXB xml与javaBean的转换 文章Points: 1.不认识到犯错,然后得到永久的教训. 2.认识JAXB 3.代码实战 1.不认识到犯错,然后 ...
- json:JSONObject包的具体使用(JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包)...
1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包. 2.下载jar包 http:// ...
- php代码实现xml格式转换,PHP实现XML与数据格式进行转换类实例
PHP实现XML与数据格式进行转换类实例 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: PHP实现XML与数据格式进行转换类实例.txt ] (友情提示:右键点上 ...
- JAXB实现xml与对象互相转换
不需要引入任何外部jar包,JAXB自jdk1.5就已被集成,jdk1.7已升级为JAXB2. 1.xml报文 <?xml version="1.0" encoding=&q ...
- xml与json互相转换
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson ...
- android读取xml 字符串,Android 读取本地Xml文件,并转换成String
问题 不是解析本地 xml 文件, 而是要将 xml 文件中的所有内容(包含格式,标签等),直接转换成 String. 与前端H5页面交互时, iOS 在请求远程 xml 文件耗时太长(有时需要4~5 ...
- php数组转xml文件,php数组转换成xml格式的实现方法
php数组转换成xml的方法:首先创建一个PHP示例文件:然后定义一个"array_Xml"方法:接着通过foreach循环遍历以及"is_array"等函数实 ...
最新文章
- .NET泛型解析(下)
- xml方式整合SpringMVC 4整合 Hibernate4
- js引用action层变量
- 日记 [2007年05月23日]启动ORACLE 10G
- 达夫设备(Duff‘s Device)
- 最新款服务器主板,服务器主板
- mysqli mysql error_mysqli常用错误处理函数
- 不止代码:ybtoj-棋盘分割(二维区间dp)
- java链表的数据结构_Java数据结构 获取链表(LinkedList)的第一个和最后一个元素
- 1.Weblogic通Eclipse调试配置(Weblogic同Eclipse调试配置技术)
- @override注解_Spring中的各种注解深入理解
- 计算机深度休眠以后怎么唤醒,电脑进入深度睡眠,肿么唤醒?
- 关于第四次财富狂潮的思考,区块链如猛虎出笼?
- 3rd TMA大数据营销案例征集赛正式启动,报名ing!
- 图解AUTOSAR(五)——微控制器抽象层(MCAL)
- 屏幕录像制作gif动态图
- tinyint 范围
- 探索“哑巴英语”的缘由
- 1w存银行一年多少利息_银行存款100万,一年后可以拿到多少钱?
- 【数据结构】什么是堆
热门文章
- 圆心角 圆弧上点坐标_数控加工中心CNC的G02/G03圆弧指令的I、J、与R的区别
- Future取消线程执行
- 防止用户重复提交表单数据,session方式,js方式
- kafka分布式_带有Kafka和ZeroMQ的分布式类星体演员
- 突然讨厌做前端,讨厌代码_不要讨厌HATEOAS
- xp系统 javafx_使用JavaFX构建React系统
- 什么时候需要使用cqrs_在CQRS读取模型中使用Hibernate进行快速开发
- osgi:install_OSGi服务测试助手:ServiceRegistrationRule
- cargo maven_与Maven 3,Failsafe和Cargo插件的集成测试
- neo4j cypher_neo4j / cypher:悬挂查询参数