У меня есть еще файлы .avro, которые я хочу выполнить для анализа данных. Как я могу сгруппировать их и проанализировать значения различных полей? Это схема:
{
"type" : "record",
"name" : "DNSEvoDataFlatAvro",
"namespace" : "nl.utwente.dacs.DNSEvo.avro",
"fields" : [ {
"name" : "query_type",
"type" : "string"
}, {
"name" : "query_name",
"type" : "string"
}, {
"name" : "response_type",
"type" : [ "null", "string" ]
}, {
"name" : "response_name",
"type" : [ "null", "string" ]
}, {
"name" : "response_ttl",
"type" : [ "null", "int" ]
}, {
"name" : "timestamp",
"type" : "long"
}, {
"name" : "rtt",
"type" : "double"
}, {
"name" : "worker_id",
"type" : "int"
}, {
"name" : "status_code",
"type" : "int"
}, {
"name" : "ad_flag",
"type" : "int"
}, {
"name" : "ip4_address",
"type" : [ "null", "string" ]
}, {
"name" : "ip6_address",
"type" : [ "null", "string" ]
}, {
"name" : "country",
"type" : [ "null", "string" ]
}, {
"name" : "as",
"type" : [ "null", "string" ]
}, {
"name" : "as_full",
"type" : [ "null", "string" ]
}, {
"name" : "ip_prefix",
"type" : [ "null", "string" ]
}, {
"name" : "cname_name",
"type" : [ "null", "string" ]
}, {
"name" : "dname_name",
"type" : [ "null", "string" ]
}, {
"name" : "mx_address",
"type" : [ "null", "string" ]
}, {
"name" : "mx_preference",
"type" : [ "null", "int" ]
}, {
"name" : "mxset_hash_algorithm",
"type" : [ "null", "string" ]
}, {
"name" : "mxset_hash",
"type" : [ "null", "string" ]
}, {
"name" : "ns_address",
"type" : [ "null", "string" ]
}, {
"name" : "nsset_hash_algorithm",
"type" : [ "null", "string" ]
}, {
"name" : "nsset_hash",
"type" : [ "null", "string" ]
}, {
"name" : "txt_text",
"type" : [ "null", "string" ]
}, {
"name" : "txt_hash_algorithm",
"type" : [ "null", "string" ]
}, {
"name" : "txt_hash",
"type" : [ "null", "string" ]
}, {
"name" : "ds_key_tag",
"type" : [ "null", "int" ]
}, {
"name" : "ds_algorithm",
"type" : [ "null", "int" ]
}, {
"name" : "ds_digest_type",
"type" : [ "null", "int" ]
}, {
"name" : "ds_digest",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_flags",
"type" : [ "null", "int" ]
}, {
"name" : "dnskey_protocol",
"type" : [ "null", "int" ]
}, {
"name" : "dnskey_algorithm",
"type" : [ "null", "int" ]
}, {
"name" : "dnskey_pk_rsa_n",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_rsa_e",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_rsa_bitsize",
"type" : [ "null", "int" ]
}, {
"name" : "dnskey_pk_eccgost_x",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_eccgost_y",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_dsa_t",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_dsa_q",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_dsa_p",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_dsa_g",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_dsa_y",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_eddsa_a",
"type" : [ "null", "string" ]
}, {
"name" : "dnskey_pk_wire",
"type" : [ "null", "string" ]
}, {
"name" : "nsec_next_domain_name",
"type" : [ "null", "string" ]
}, {
"name" : "nsec_owner_rrset_types",
"type" : [ "null", "string" ]
}, {
"name" : "nsec3_hash_algorithm",
"type" : [ "null", "int" ]
}, {
"name" : "nsec3_flags",
"type" : [ "null", "int" ]
}, {
"name" : "nsec3_iterations",
"type" : [ "null", "int" ]
}, {
"name" : "nsec3_salt",
"type" : [ "null", "string" ]
}, {
"name" : "nsec3_next_domain_name_hash",
"type" : [ "null", "string" ]
}, {
"name" : "nsec3_owner_rrset_types",
"type" : [ "null", "string" ]
}, {
"name" : "nsec3param_hash_algorithm",
"type" : [ "null", "int" ]
}, {
"name" : "nsec3param_flags",
"type" : [ "null", "int" ]
}, {
"name" : "nsec3param_iterations",
"type" : [ "null", "int" ]
}, {
"name" : "nsec3param_salt",
"type" : [ "null", "string" ]
}, {
"name" : "spf_text",
"type" : [ "null", "string" ]
}, {
"name" : "spf_hash_algorithm",
"type" : [ "null", "string" ]
}, {
"name" : "spf_hash",
"type" : [ "null", "string" ]
}, {
"name" : "soa_mname",
"type" : [ "null", "string" ]
}, {
"name" : "soa_rname",
"type" : [ "null", "string" ]
}, {
"name" : "soa_serial",
"type" : [ "null", "long" ]
}, {
"name" : "soa_refresh",
"type" : [ "null", "long" ]
}, {
"name" : "soa_retry",
"type" : [ "null", "long" ]
}, {
"name" : "soa_expire",
"type" : [ "null", "long" ]
}, {
"name" : "soa_minimum",
"type" : [ "null", "long" ]
}, {
"name" : "rrsig_type_covered",
"type" : [ "null", "string" ]
}, {
"name" : "rrsig_algorithm",
"type" : [ "null", "int" ]
}, {
"name" : "rrsig_labels",
"type" : [ "null", "int" ]
}, {
"name" : "rrsig_original_ttl",
"type" : [ "null", "long" ]
}, {
"name" : "rrsig_signature_inception",
"type" : [ "null", "long" ]
}, {
"name" : "rrsig_signature_expiration",
"type" : [ "null", "long" ]
}, {
"name" : "rrsig_key_tag",
"type" : [ "null", "int" ]
}, {
"name" : "rrsig_signer_name",
"type" : [ "null", "string" ]
}, {
"name" : "rrsig_signature",
"type" : [ "null", "string" ]
}, {
"name" : "cds_key_tag",
"type" : [ "null", "int" ]
}, {
"name" : "cds_algorithm",
"type" : [ "null", "int" ]
}, {
"name" : "cds_digest_type",
"type" : [ "null", "int" ]
}, {
"name" : "cds_digest",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_flags",
"type" : [ "null", "int" ]
}, {
"name" : "cdnskey_protocol",
"type" : [ "null", "int" ]
}, {
"name" : "cdnskey_algorithm",
"type" : [ "null", "int" ]
}, {
"name" : "cdnskey_pk_rsa_n",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_rsa_e",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_rsa_bitsize",
"type" : [ "null", "int" ]
}, {
"name" : "cdnskey_pk_eccgost_x",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_eccgost_y",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_dsa_t",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_dsa_q",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_dsa_p",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_dsa_g",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_dsa_y",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_eddsa_a",
"type" : [ "null", "string" ]
}, {
"name" : "cdnskey_pk_wire",
"type" : [ "null", "string" ]
}, {
"name" : "caa_flags",
"type" : [ "null", "int" ]
}, {
"name" : "caa_tag",
"type" : [ "null", "string" ]
}, {
"name" : "caa_value",
"type" : [ "null", "string" ]
}, {
"name" : "tlsa_usage",
"type" : [ "null", "int" ]
}, {
"name" : "tlsa_selector",
"type" : [ "null", "int" ]
}, {
"name" : "tlsa_matchtype",
"type" : [ "null", "int" ]
}, {
"name" : "tlsa_certdata",
"type" : [ "null", "string" ]
}, {
"name" : "ptr_name",
"type" : [ "null", "string" ]
} ]
}
Например, я хочу проанализировать временной ряд поля метки времени нескольких файлов .avro.