我还有更多.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的时间戳字段的时间序列。