Apache Avro 纯 JavaScript 实现 avsc

码农软件 · 软件分类 · 其他开发相关 · 2019-10-19 15:57:17

软件介绍

avsc 是 Apache Avro 的纯 JavaScript 实现。

特性:

  • 完整的 Avro 架构支持,包括递归架构, sort order, 以及 schema evolution.

  • 快速!速度相当于 JSON 的两倍,同时更少的编码(varies per schema).

  • 无依赖, avsc 甚至可以在浏览器运行

表现

解码吞吐率的示意图(越高越好):

Throughput rate chart

库比较:

  • node-avsc, this package.

  • node-json, built-in JSON serializer.

  • node-pson, an alternative to JSON.

  • node-avro-io, most popular previously existing Avro implementation.

示例:

在一个 node.js 模块,或使用 browserify:

var avsc = require('avsc');
  • 编码和解码对象:

    // We can declare a schema inline:var type = avsc.parse({
      name: 'Pet',
      type: 'record',
      fields: [
        {name: 'kind', type: {name: 'Kind', type: 'enum', symbols: ['CAT', 'DOG']}},
        {name: 'name', type: 'string'}
      ]
    });var pet = {kind: 'CAT', name: 'Albert'};var buf = type.toBuffer(pet); // Serialized object.var obj = type.fromBuffer(buf); // {kind: 'CAT', name: 'Albert'}
  • 生成一个 schema 的随机实例:

    // We can also parse a JSON-stringified schema:
    var type = avsc.parse('{"type": "fixed", "name": "Id", "size": 4}');
    var id = type.random(); // E.g. Buffer([48, 152, 2, 123])
  • 检查对象是否符合给定 schema:

    // Or we can specify a path to a schema file (not in the browser):
    var type = avsc.parse('./Person.avsc');
    var person = {name: 'Bob', address: {city: 'Cambridge', zip: '02139'}};
    var status = type.isValid(person); // Boolean status.
  • 从一个 Avro 容器文件(不在浏览器)得到解码记录的readable stream

    avsc.createFileDecoder('./records.avro')
      .on('metadata', function (type) { /* `type` is the writer's type. */ })
      .on('data', function (record) { /* Do something with the record. */ });

本文地址:https://www.codercto.com/soft/d/17108.html

多任务下的数据结构与算法

多任务下的数据结构与算法

周伟明 / 华中科技 / 2006-4 / 58.00元

本书和传统同类书籍的区别是除了介绍基本的数据结构容器如栈、队列、链表、树、二叉树、红黑树、AVL树和图之外,引进了多任务;还介绍了将任意数据结构容器变成支持多任务的方法;另外,还增加了复合数据结构和动态数据结构等新内容的介绍。在复合数据结构中不仅介绍了哈希链表、哈希红黑树、哈希AVL树等容器,还介绍了复合数据结构的通用设计方法;在动态数据结构中主要介绍了动态环形队列、动态等尺寸内存管理算法。在内存......一起来看看 《多任务下的数据结构与算法》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具