Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud dataflow SerializableCoder和AvroCoder之间有什么区别?_Google Cloud Dataflow_Apache Beam_Serializable - Fatal编程技术网

Google cloud dataflow SerializableCoder和AvroCoder之间有什么区别?

Google cloud dataflow SerializableCoder和AvroCoder之间有什么区别?,google-cloud-dataflow,apache-beam,serializable,Google Cloud Dataflow,Apache Beam,Serializable,SerializableCoder和AvroCoder之间的区别是什么?在定制数据模型上,何时应该使用这两种方法?从文档页面上看,AvroCoder似乎对模型模式更严格,而SerializableCoder只需要模型来实现本质上为空的Serializable接口。SerializableCoder的文档没有警告不保证确定性编码。除此之外,选择AvroCoder而不是SerializableCoder的情况是什么?主要区别在于AvroCoder使用,即,您将仅对.avro文件使用AvroCoder

SerializableCoder和AvroCoder之间的区别是什么?在定制数据模型上,何时应该使用这两种方法?从文档页面上看,AvroCoder似乎对模型模式更严格,而SerializableCoder只需要模型来实现本质上为空的Serializable接口。SerializableCoder的文档没有警告不保证确定性编码。除此之外,选择AvroCoder而不是SerializableCoder的情况是什么?

主要区别在于AvroCoder使用,即,您将仅对.avro文件使用AvroCoder

Avro模式是使用JSON格式创建的,如下所示:

{
"type" : "record",
"name" : "userInfo",
"namespace" : "my.example",
"fields" : [{"name" : "username", 
            "type" : "string", 
            "default" : "NONE"},

            {"name" : "age", 
            "type" : "int", 
            "default" : -1},

            {"name" : "phone", 
            "type" : "string", 
            "default" : "NONE"},

            {"name" : "housenum", 
            "type" : "string", 
            "default" : "NONE"},

            {"name" : "street", 
            "type" : "string", 
            "default" : "NONE"},

            {"name" : "city", 
            "type" : "string", 
            "default" : "NONE"},

            {"name" : "state_province", 
            "type" : "string", 
            "default" : "NONE"},

            {"name" : "country", 
            "type" : "string", 
            "default" : "NONE"},

            {"name" : "zip", 
            "type" : "string", 
            "default" : "NONE"}]
}
另一方面,SerializableCoder实现了。这允许有用于对象序列化的类,但没有特定的方法

此外,非java应用程序可以读取avro模式