<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://fileformats.archiveteam.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://fileformats.archiveteam.org/index.php?action=history&amp;feed=atom&amp;title=Avro</id>
		<title>Avro - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://fileformats.archiveteam.org/index.php?action=history&amp;feed=atom&amp;title=Avro"/>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=Avro&amp;action=history"/>
		<updated>2026-04-24T12:40:12Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32422&amp;oldid=prev</id>
		<title>Effect2: /* Single-Object Encoding */ Clarified that the fingerprint is of the schema, not (it might be wrongly assumed) of the file</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32422&amp;oldid=prev"/>
				<updated>2019-06-23T11:58:29Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Single-Object Encoding: &lt;/span&gt; Clarified that the fingerprint is of the schema, not (it might be wrongly assumed) of the file&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 11:58, 23 June 2019&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|c3 01}}.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|c3 01}}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* A 64-bit fingerprint, generated by a variant of the [[Wikipedia:Rabin fingerprint|Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[https://avro.apache.org/docs/current/spec.html#schema_fingerprints AVRO fingerprinting algorithm]&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* A 64-bit fingerprint &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;of the schema&lt;/ins&gt;, generated by a variant of the [[Wikipedia:Rabin fingerprint|Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[https://avro.apache.org/docs/current/spec.html#schema_fingerprints AVRO fingerprinting algorithm]&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The encoded message.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The encoded message.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This allows for the schema to be looked up in a database.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This allows for the schema to be looked up in a database.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Effect2</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32296&amp;oldid=prev</id>
		<title>Effect2: Fixed another link</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32296&amp;oldid=prev"/>
				<updated>2019-06-14T06:31:41Z</updated>
		
		<summary type="html">&lt;p&gt;Fixed another link&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 06:31, 14 June 2019&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|c3 01}}.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|c3 01}}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* A 64-bit fingerprint, generated by a variant of the [[Wikipedia:Rabin fingerprint|Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;AVRO fingerprinting algorithm|&lt;/del&gt;https://avro.apache.org/docs/current/spec.html#schema_fingerprints]&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* A 64-bit fingerprint, generated by a variant of the [[Wikipedia:Rabin fingerprint|Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[https://avro.apache.org/docs/current/spec.html#schema_fingerprints &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;AVRO fingerprinting algorithm&lt;/ins&gt;]&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The encoded message.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The encoded message.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This allows for the schema to be looked up in a database.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This allows for the schema to be looked up in a database.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Effect2</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32295&amp;oldid=prev</id>
		<title>Effect2: Fixed link</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32295&amp;oldid=prev"/>
				<updated>2019-06-14T06:31:07Z</updated>
		
		<summary type="html">&lt;p&gt;Fixed link&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 06:31, 14 June 2019&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|c3 01}}.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|c3 01}}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* A 64-bit fingerprint, generated by a variant of the [[Rabin fingerprint|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Wikipedia:&lt;/del&gt;Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[AVRO fingerprinting algorithm|https://avro.apache.org/docs/current/spec.html#schema_fingerprints]&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* A 64-bit fingerprint, generated by a variant of the [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Wikipedia:&lt;/ins&gt;Rabin fingerprint|Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[AVRO fingerprinting algorithm|https://avro.apache.org/docs/current/spec.html#schema_fingerprints]&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The encoded message.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The encoded message.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This allows for the schema to be looked up in a database.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This allows for the schema to be looked up in a database.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Effect2</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32283&amp;oldid=prev</id>
		<title>Effect2: Made magic number formats consistent, and added the omitted byte from the object container magic</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32283&amp;oldid=prev"/>
				<updated>2019-06-14T02:38:50Z</updated>
		
		<summary type="html">&lt;p&gt;Made magic number formats consistent, and added the omitted byte from the object container magic&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:38, 14 June 2019&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==== Single-Object Encoding ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==== Single-Object Encoding ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;0xC3 0x01&lt;/del&gt;}}.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;c3 01&lt;/ins&gt;}}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* A 64-bit fingerprint, generated by a variant of the [[Rabin fingerprint|Wikipedia:Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[AVRO fingerprinting algorithm|https://avro.apache.org/docs/current/spec.html#schema_fingerprints]&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* A 64-bit fingerprint, generated by a variant of the [[Rabin fingerprint|Wikipedia:Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[AVRO fingerprinting algorithm|https://avro.apache.org/docs/current/spec.html#schema_fingerprints]&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The encoded message.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The encoded message.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==== Object Container File ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==== Object Container File ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;object container file&amp;quot;, which seems to be more widely-used, is more complicated. It consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#Object+Container+Files&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The &amp;quot;object container file&amp;quot;, which seems to be more widely-used, is more complicated. It consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#Object+Container+Files&amp;lt;/ref&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|4f 62 6a}}.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The magic number {{magic|4f 62 6a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;01&lt;/ins&gt;}}.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The full JSON schema, and name of the compression algorithm, themselves encoded together as an Avro &amp;quot;map&amp;quot; object.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* The full JSON schema, and name of the compression algorithm, themselves encoded together as an Avro &amp;quot;map&amp;quot; object.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* 16 random bytes called the &amp;quot;sync marker&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* 16 random bytes called the &amp;quot;sync marker&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Effect2</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32282&amp;oldid=prev</id>
		<title>Effect2: Broke off the section about JSON encoding from the main flow</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32282&amp;oldid=prev"/>
				<updated>2019-06-14T00:03:48Z</updated>
		
		<summary type="html">&lt;p&gt;Broke off the section about JSON encoding from the main flow&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr valign='top'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 00:03, 14 June 2019&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Avro''', commonly known prefixed by the name of its creator organization as &amp;quot;'''Apache Avro'''&amp;quot;, is a [[serialization]] format (and RPC system) used largely within &amp;quot;big data&amp;quot; systems, specifically the Apache Hadoop environment. It has been designed for extreme &amp;quot;flexibility&amp;quot;, which seems to actually mean that it is meant to meet several apparently contradictory requirements at once, and, as a result, it has a somewhat confusing structure.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Avro''', commonly known prefixed by the name of its creator organization as &amp;quot;'''Apache Avro'''&amp;quot;, is a [[serialization]] format (and RPC system) used largely within &amp;quot;big data&amp;quot; systems, specifically the Apache Hadoop environment. It has been designed for extreme &amp;quot;flexibility&amp;quot;, which seems to actually mean that it is meant to meet several apparently contradictory requirements at once, and, as a result, it has a somewhat confusing structure.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;At its basis, Avro is an imitation of [[Protocol Buffers]], with a schema written is [[JSON]] that defines a wire format&amp;lt;ref group=&amp;quot;Note&amp;quot;&amp;gt;In this case, &amp;quot;wire format&amp;quot; is meant in the generic sense, not Avro's specific usage of it to refer to its network protocol.&amp;lt;/ref&amp;gt; for serialized data that essentially consists of the field values converted to binary and concatendated. Instead of this binary encoding, the message itself may also be serialized using JSON.&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#Encodings&amp;lt;/ref&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. &lt;/del&gt;However, this becomes complicated by the fact that its schema is usually stored with the message, which gives rise to Avro's distinctive qualities.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;At its basis, Avro is an imitation of [[Protocol Buffers]], with a schema written is [[JSON]] that defines a wire format&amp;lt;ref group=&amp;quot;Note&amp;quot;&amp;gt;In this case, &amp;quot;wire format&amp;quot; is meant in the generic sense, not Avro's specific usage of it to refer to its network protocol.&amp;lt;/ref&amp;gt; for serialized data that essentially consists of the field values converted to binary and concatendated. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(&lt;/ins&gt;Instead of this binary encoding, the message itself may also be serialized using JSON&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, although this is relatively rare&lt;/ins&gt;.&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#Encodings&amp;lt;/ref&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) &lt;/ins&gt;However, this becomes complicated by the fact that its schema is usually stored with the message, which gives rise to Avro's distinctive qualities.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;One of the features frequently touted as an advantage of Avro is that it can work without Protocol Buffers-like code generation&amp;lt;ref&amp;gt;[[Wikipedia:Apache Avro]]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://cloudurable.com/blog/avro/index.html&amp;lt;/ref&amp;gt; (although in practice this seems to usually be done, anyhow). This only affects ease of programming, not the data format. (Technically, it allows for messages to be parsed without knowing anything about the schema in advance, but this is only useful in the course of writing something like a debug tool.)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;One of the features frequently touted as an advantage of Avro is that it can work without Protocol Buffers-like code generation&amp;lt;ref&amp;gt;[[Wikipedia:Apache Avro]]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://cloudurable.com/blog/avro/index.html&amp;lt;/ref&amp;gt; (although in practice this seems to usually be done, anyhow). This only affects ease of programming, not the data format. (Technically, it allows for messages to be parsed without knowing anything about the schema in advance, but this is only useful in the course of writing something like a debug tool.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Effect2</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32278&amp;oldid=prev</id>
		<title>Effect2: Created page with &quot;{{FormatInfo |formattype=electronic |subcat=Serialization |extensions={{ext|avsc}}, {{ext|avro}} |released=2009&lt;ref&gt;Date of the earliest release, i.e. https://archive.apache.o...&quot;</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/index.php?title=Avro&amp;diff=32278&amp;oldid=prev"/>
				<updated>2019-06-14T00:00:02Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{FormatInfo |formattype=electronic |subcat=Serialization |extensions={{ext|avsc}}, {{ext|avro}} |released=2009&amp;lt;ref&amp;gt;Date of the earliest release, i.e. https://archive.apache.o...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Serialization&lt;br /&gt;
|extensions={{ext|avsc}}, {{ext|avro}}&lt;br /&gt;
|released=2009&amp;lt;ref&amp;gt;Date of the earliest release, i.e. https://archive.apache.org/dist/avro/avro-1.0.0/&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Avro''', commonly known prefixed by the name of its creator organization as &amp;quot;'''Apache Avro'''&amp;quot;, is a [[serialization]] format (and RPC system) used largely within &amp;quot;big data&amp;quot; systems, specifically the Apache Hadoop environment. It has been designed for extreme &amp;quot;flexibility&amp;quot;, which seems to actually mean that it is meant to meet several apparently contradictory requirements at once, and, as a result, it has a somewhat confusing structure.&lt;br /&gt;
&lt;br /&gt;
At its basis, Avro is an imitation of [[Protocol Buffers]], with a schema written is [[JSON]] that defines a wire format&amp;lt;ref group=&amp;quot;Note&amp;quot;&amp;gt;In this case, &amp;quot;wire format&amp;quot; is meant in the generic sense, not Avro's specific usage of it to refer to its network protocol.&amp;lt;/ref&amp;gt; for serialized data that essentially consists of the field values converted to binary and concatendated. Instead of this binary encoding, the message itself may also be serialized using JSON.&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#Encodings&amp;lt;/ref&amp;gt;. However, this becomes complicated by the fact that its schema is usually stored with the message, which gives rise to Avro's distinctive qualities.&lt;br /&gt;
&lt;br /&gt;
One of the features frequently touted as an advantage of Avro is that it can work without Protocol Buffers-like code generation&amp;lt;ref&amp;gt;[[Wikipedia:Apache Avro]]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://cloudurable.com/blog/avro/index.html&amp;lt;/ref&amp;gt; (although in practice this seems to usually be done, anyhow). This only affects ease of programming, not the data format. (Technically, it allows for messages to be parsed without knowing anything about the schema in advance, but this is only useful in the course of writing something like a debug tool.)&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
Schema files use the extension &amp;quot;.avsc&amp;quot;, while encoded files (of any sort) use the extension &amp;quot;.avro&amp;quot;.&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/gettingstartedpython.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parsing Canonical Form ==&lt;br /&gt;
The &amp;quot;parsing canocial form&amp;quot; is used to test for equality of two schemas. It is computed by taking a schema, specified in JSON, and performing a number of transformations on it. If the result of this process is the same for two schemas, they are considered identical.&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#Parsing+Canonical+Form+for+Schemas&amp;lt;/ref&amp;gt; The parsing canocial form becomes important when schemas are embedded in files (as is discussed in the next section).&lt;br /&gt;
&lt;br /&gt;
== Embedded Schemas and their Consequences ==&lt;br /&gt;
The distinctive feature of Avro is that it almost always stores or transmits the serialized message along with its schema. This is how Avro tries to solve the problem of backwards and forwards compatibility in schema versions (a difficult problem for serialization formats; see e.g. &amp;lt;ref&amp;gt;https://capnproto.org/faq.html#how-do-i-make-a-field-required-like-in-protocol-buffers&amp;lt;/ref&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== The Wrapper Formats ===&lt;br /&gt;
The schema and the message are stored together with two formats: the &amp;quot;single-object encoding&amp;quot; format and the &amp;quot;object container file&amp;quot; format. The former does not actually store the schema in full, only a reference.&lt;br /&gt;
&lt;br /&gt;
==== Single-Object Encoding ====&lt;br /&gt;
The &amp;quot;single-object encoding&amp;quot; consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#single_object_encoding&amp;lt;/ref&amp;gt;:&lt;br /&gt;
* The magic number {{magic|0xC3 0x01}}.&lt;br /&gt;
* A 64-bit fingerprint, generated by a variant of the [[Rabin fingerprint|Wikipedia:Rabin fingerprint]] (itself apparently a type of [[CRC]]) called the &amp;quot;[AVRO fingerprinting algorithm|https://avro.apache.org/docs/current/spec.html#schema_fingerprints]&amp;quot;.&lt;br /&gt;
* The encoded message.&lt;br /&gt;
This allows for the schema to be looked up in a database.&lt;br /&gt;
&lt;br /&gt;
==== Object Container File ====&lt;br /&gt;
The &amp;quot;object container file&amp;quot;, which seems to be more widely-used, is more complicated. It consists of&amp;lt;ref&amp;gt;https://avro.apache.org/docs/current/spec.html#Object+Container+Files&amp;lt;/ref&amp;gt;:&lt;br /&gt;
* The magic number {{magic|4f 62 6a}}.&lt;br /&gt;
* The full JSON schema, and name of the compression algorithm, themselves encoded together as an Avro &amp;quot;map&amp;quot; object.&lt;br /&gt;
* 16 random bytes called the &amp;quot;sync marker&amp;quot;&lt;br /&gt;
* Several &amp;quot;blocks&amp;quot; of the encoded binary message, with optional compression (the specification calls a compression algorithm a &amp;quot;codec&amp;quot;, which is unusual usage outside of media compression).&lt;br /&gt;
See [[#Specifications]] for more details.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* [https://avro.apache.org/docs/current/spec.html 1.9.0 Specification]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://avro.apache.org/docs/current/ Official website]&lt;br /&gt;
* [http://cloudurable.com/blog/avro/index.html Understanding Apache Avro]&lt;br /&gt;
* [https://dzone.com/articles/introduction-apache-avro Introduction to Apache Avro]&lt;br /&gt;
* [[Wikipedia:Apache Avro|Wikipedia page]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references group=&amp;quot;Note&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Apache]]&lt;/div&gt;</summary>
		<author><name>Effect2</name></author>	</entry>

	</feed>