hadoop yarn中新的系列化protocol buffers
1.安装protoc,附件里是win,llinux的文件,win配置下环境变量,或是linux下configure make make install
2.写protoc文件person.proto
package tutorial; option java_package="";//包名 option java_outer_classname="PersonProtos";//类名 message Person{ required string name = 1; //required为必填,optional为可为空 required int32 id =2; required string email = 3; message PhoneNumber{ required string number = 1; optional int32 type = 2; } repeated PhoneNumber phone = 4; }
2.protoc命令生成类到当前目录
protoc -java_out=. person.proto
3.测试类
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import com.zb.demo.protocalBuffers.PersonProtos.Person; /** * proto buffer实例 * @author dirk.zhang * */ public class ProtocalBufferExample { public static void main(String[] args) { Person person1 = Person.newBuilder() .setName("dirk.zhang") .setEmail("kongzhiguiji@aliyun.com") .setId(41) .addPhone(Person.PhoneNumber.newBuilder().setNumber("13522616858") .setType(0)) .addPhone(Person.PhoneNumber.newBuilder().setNumber("110").setType(1)).build(); try { FileOutputStream output = new FileOutputStream(new File("d:\\delete\\protobufExample.txt")); person1.writeTo(output); output.close(); } catch (Exception e) { System.out.println("write Error!"); } try { FileInputStream input = new FileInputStream(new File("d:\\delete\\protobufExample.txt")); Person person2 = Person.parseFrom(input); System.out.println("person2:"+person2); } catch (Exception e) { System.out.println("read Error"); } } }
相关推荐
`Java使用Protocol Buffers入门四步骤 -.htm`和`Java使用Protocol Buffers入门四步骤 -_files`可能是一个教程文档和相关资源,详细介绍了如何在Java环境下逐步开始使用protobuf。 protobuf的优点包括小巧高效、兼容...
1. gRPC:这是一种现代化的RPC框架,它使用protobuf(Protocol Buffers)作为接口定义语言,用于编写跨平台的服务。 2. C#:这是Microsoft开发的一种面向对象的编程语言,常用于Windows应用开发,也广泛应用于.NET...
GRPC 是一个高性能、开源和通用的 RPC 框架,它基于 Google 的 Protocol Buffers (protobuf) 进行序列化和接口定义。这个压缩包包含了一个简单的客户端(Client)和服务器(Server)通信的例子,名为 "helloworld",...
gRPC 是一个高性能、开源和通用的 RPC(远程过程调用)框架,基于 Google 的 Protocol Buffers(Protobuf)进行序列化和接口定义,支持多种编程语言,包括 Go。 描述中提到的关键点有: 1. **gRPC 环境搭建**:这个...
protobuf(Protocol Buffers)是一种灵活、高效、自动化的结构化数据序列化方法,它不仅限于特定的编程语言或平台,可以在不同的环境中实现数据交换。相比于传统的数据序列化方法,如XML、JSON等,protobuf具有更高...
Protobuf(Protocol Buffers)是Google推出的一种数据序列化协议,类似于XML和JSON,但更紧凑、更快、更简单。它允许定义数据结构,然后生成能够在各种语言中使用的代码,以便轻松地序列化和反序列化数据。Protobuf...
gRPC 是一个高性能、开源且通用的 RPC(远程过程调用)框架,它基于 Google 的 Protocol Buffers(protobuf)进行序列化和接口定义。在 Python 中使用 gRPC 可以帮助开发者构建分布式微服务架构,实现跨语言通信。这...
二进制格式包括 Protocol Buffers、MessagePack、Avro 等。数据库包括 MySQL、PostgreSQL、MongoDB 等。 六、动态网页爬取 动态网页爬取是爬虫技术的重要难点,包括 Selenium 工具介绍、PhantomJS 工具介绍等。...
gRPC使用Protocol Buffers作为其序列化协议,支持多种语言,并且提供了安全、高效的双向流通信。在Go中,使用gRPC的第一步是定义服务接口和消息类型在.proto文件中,然后使用protoc编译器生成Go代码。 在"client.go...
Caffe框架以其简洁的模型定义语言(Protocol Buffers)和高效的计算库(C++/CUDA)著称,使得研究人员和工程师能够快速地实现和部署深度学习模型。书中可能涵盖了Caffe的安装与配置、模型定义、数据预处理、训练与...
gRPC是一个高性能、开源且语言无关的RPC(远程过程调用)框架,它利用Protocol Buffers作为其接口定义语言,使得服务端和客户端可以跨平台通信。在这个示例中,我们将探讨如何使用Go语言构建gRPC服务器和客户端,...
- gRPC原理解析:讲述gRPC的原理,包括其基于HTTP/2和Protocol Buffers的设计理念。 7. Dubbo: - Dubbo是什么及能做什么:介绍Dubbo的定义、功能以及为什么要在项目中使用它。 - Dubbo面试题:提供针对Dubbo...
在这个实验中,"Talker"会生成并发送数据,而"Listener"则负责接收并处理这些数据,这为理解Cyber中的数据流和通信机制提供了一个直观的入门实例。 在提供的压缩包文件中,我们可以看到以下几个关键文件: 1. **...
- **Protocol Buffers**:使用 Google 的 Protocol Buffers 进行高效序列化。 - **JSON-RPC**:基于 JSON 的远程过程调用协议。 #### 四、总结 RCF 作为一个全面而强大的远程调用框架,不仅提供了基本的远程过程...
4. **Protocol Buffers**:Mina支持多种协议,如TCP、UDP、SSL/TLS等,你可以选择适合你的应用场景的协议来构建网络通信。 **Mina的基本架构** Mina的架构主要由以下几个部分组成: 1. **Transport Layer**:传输...
通过HTTP/2或Protocol Buffers,服务间可以高效地交换数据。 5. **服务治理**:包括熔断、限流、降级等策略,以保护系统在高负载或故障时的稳定性。Hystrix或Istio可能是实现这些功能的工具。 6. **持续集成/持续...
gRPC是一种高性能、开源的RPC框架,它基于Google的Protocol Buffers(protobuf)进行序列化和接口定义,支持多种语言,包括C++, Java, Python, Go, C#, Node.js等。在.NET Core平台上,gRPC提供了一种轻量级、高效率...
gRPC利用Protocol Buffers(protobuf)作为接口定义语言,允许开发者定义服务接口和消息类型,然后自动生成客户端和服务器的代码。 【描述】:此项目主要展示了gRPC与Kotlin的结合使用,为开发者提供了一个快速入门...