public class SchemaNormalization extends Object
toParsingForm(org.apache.avro.Schema)) -- and fingerprints of canonical forms
(fingerprint(java.lang.String, byte[])).| Modifier and Type | Method and Description |
|---|---|
static byte[] |
fingerprint(String fpName,
byte[] data)
Returns a fingerprint of a string of bytes.
|
static long |
fingerprint64(byte[] data)
Returns the 64-bit Rabin Fingerprint (as recommended in the Avro spec) of a
byte string.
|
static byte[] |
parsingFingerprint(String fpName,
Schema s)
Returns
fingerprint(java.lang.String, byte[]) applied to the parsing canonical form of the
supplied schema. |
static long |
parsingFingerprint64(Schema s)
Returns
fingerprint64(byte[]) applied to the parsing canonical form of the
supplied schema. |
static String |
toParsingForm(Schema s)
Returns "Parsing Canonical Form" of a schema as defined by Avro spec.
|
public static String toParsingForm(Schema s)
public static byte[] fingerprint(String fpName, byte[] data) throws NoSuchAlgorithmException
"CRC-64-AVRO", then the result of
fingerprint64(byte[]) is returned in little-endian format. Otherwise,
fpName is used as an algorithm name for
MessageDigest.getInstance(String), which will throw
NoSuchAlgorithmException if it doesn't recognize the name.
Recommended Avro practice dictates that "CRC-64-AVRO" is used
for 64-bit fingerprints, "MD5" is used for 128-bit fingerprints,
and "SHA-256" is used for 256-bit fingerprints.
NoSuchAlgorithmExceptionpublic static long fingerprint64(byte[] data)
public static byte[] parsingFingerprint(String fpName, Schema s) throws NoSuchAlgorithmException
fingerprint(java.lang.String, byte[]) applied to the parsing canonical form of the
supplied schema.NoSuchAlgorithmExceptionpublic static long parsingFingerprint64(Schema s)
fingerprint64(byte[]) applied to the parsing canonical form of the
supplied schema.Copyright © 2009–2023 The Apache Software Foundation. All rights reserved.