当前位置: 首页 > news >正文

青海公司网站建设手机下载app并安装

青海公司网站建设,手机下载app并安装,常用的网站推广的方式方法,泰安网站搭建公司一、arvo介绍 Avro 是 Hadoop 中的一个子项目#xff0c;也是一个数据序列化系统#xff0c;其数据最终以二进制格式#xff0c;采用行式存储的方式进行存储。 Avro提供了#xff1a; 1)、丰富的数据结构。 2)、可压缩、快速的二进制数据格式。 3)、一个用来存储持久化数据…一、arvo介绍 Avro 是 Hadoop 中的一个子项目也是一个数据序列化系统其数据最终以二进制格式采用行式存储的方式进行存储。 Avro提供了 1)、丰富的数据结构。 2)、可压缩、快速的二进制数据格式。 3)、一个用来存储持久化数据的容器文件。 4)、远程过程调用。 5)、与动态语言的简单集成代码生成不需要读取或写入数据文件也不需要使用或实现 RPC 协议。代码生成是一种可选的优化只值得在静态类型语言中实现。 schema模式 Avro 依赖 schema模式来实现数据结构的定义schema 通过 json 对象来进行描述表示具体表现为 一个 json 字符串命名一个定义的类型。 一个 json 对象其格式为 {type:typeName ... attributes ...}其中 typeName 为 原始类型名称 或 复杂类型名称。 一个 json 数组表示嵌入类型的联合。 schema 中的类型由 原始类型也就是 基本类型 null、boolean、int、long、float、double、bytes 和 string和 复杂类型record、enum、array、map、union 和 fixed组成。 1、原始类型 原始类型包括如下几种 null没有值 boolean布尔类型的值 int32 3232 位整形 long64 6464 位整形 float32 3232 位浮点 double64 6464 位浮点 bytes8 88 位无符号类型 stringunicode 字符集序列 原始类型没有指定的属性值原始类型的名称也就是定义的类型的名称因此schema 中的 string 等价于 {type:string}。 2、复杂类型 Avro 支持 6 种复杂类型records、enums、arrays、maps、unions 和 fixed。                       2.1records reocords 使用类型名称 record并支持以下属性。 name提供记录名称的 json 字符串必选 namespace限定名称的 json 字符串 doc一个 json 字符串为用户提供该模式的说明可选 aliases字符串的 json 数组为该记录提供备用名称 fields一个 json 数组罗列所有字段必选每个字段又都是一个 json 对象并包含如下属性         name字段的名称必选         doc字段的描述可选         type一个 schema定义如上         default字段的默认值         order指定字段如何影响记录的排序顺序有效值为 ascending默认值、descending 和 ignore。          aliases别名 一个简单实例 {type: record,name: face,aliases: [faceattribute],fields, [{name: score, type: float},{name: feature, type: [null, string]}] } 2.2maps valuesmap 的值value的 schema其 key 被假定为字符串。 一个实例声明一个 value 为 long 类型key 类型为 string的 map {type: map,values: long,default: {} } avro文件格式 Avro 格式是 Hadoop 的一种基于行的存储格式被广泛用作序列化平台。 Avro 格式以 JSON 格式存储模式使其易于被任何程序读取和解释。数据本身以二进制格式存储使其在 Avro 文件中紧凑且高效。 Avro格式是语言中立的数据序列化系统。它可以被多种语言处理目前是 C、C、C#、Java、Python 和 Ruby。 二、avro c编译 1、avrocpp下载地址 https://avro.apache.org/project/download/里面找到download连接。https://dlcdn.apache.org/avro/ 2、api文档 https://avro.apache.org/docs/ 3、编译 需要准备文件 cmake avro-cpp-1.11.3.tar.gz boost_1_66_0 zlib、sanppy 压缩算法库可选。 通过cmake生成vs解决方案文件。其中的build文件夹是通过cmake创建的这个是用来编译程序编译的时候在build里执行。如下图进入build文件夹打开Avro-cpp.sln文件可以编译avrocpp、avrocpp_s、avrogencpp等等工程。如下图 avro库中还提供了4中文件的压缩方式sanppy、default、lzma和null Snappy 是一个 C 的用来压缩和解压缩的开发包其目标不是最大限度压缩而且不兼容其他压缩格式。Snappy 旨在提供高速压缩速度和合理的压缩率。Snappy 比 zlib 更快但文件相对要大 20% 到 100%。 snappy zlib lzma 对比 snappy, zlib 和 lzma都是数据压缩算法但它们各有优势和不同的使用场景。 snappy 优势速度快适合需要快速压缩和解压缩的场景。 缺点压缩比不如其他算法高不支持跨平台。 zlib 优势压缩比高支持压缩和解压缩支持动态数据。 缺点压缩速度稍慢解压缩时需要预先加载整个数据。 lzma 优势极高的压缩比支持压缩和解压缩支持分块处理。 缺点解压速度慢初始化时间较长内存需求较高。 在选择压缩算法时需要考虑数据大小、压缩比、速度要求以及是否需要跨平台等因素。 三、avro c使用 1、创建schema 创建一个schema比如cpx.json { type: record, name: cpx, fields : [ {name: re, type: double}, {name: im, type : double} ] } 2、使用avrogencpp生成数据结构代码。 avrogencpp -i cpx.json -o cpx.hh 或 avrogencpp -i cpx.json -o cpx.hh -n myselfnamespace 注意-n表示使用特殊的命名空间。 3、数据序列化到avro文件实例。 #include cpx.hh #include avro/Encoder.hh #include avro/Decoder.hh #include avro/ValidSchema.hh #include avro/Compiler.hh #include avro/DataFile.hh #include avro/Specific.hh #include fstreamavro::ValidSchema loadSchema(const char* filename) {std::ifstream ifs(filename);avro::ValidSchema result;avro::compileJsonSchema(ifs, result);return result; }int main() {//将数据序列化到avro文件、从avro文件反序列化数据avro::ValidSchema cpxSchema loadSchema(cpx.json);//write file{avro::DataFileWriterc::cpx dfw(./test.bin, cpxSchema);c::cpx c1;c1.re 1.0;c1.im 2.13;dfw.write(c1);for (int i 0; i 10; i) {c1.re i * 100;c1.im i 100;dfw.write(c1);}dfw.close();}//read file{avro::DataFileReaderc::cpx dfr(./test.bin, cpxSchema);c::cpx c2;while (dfr.read(c2)) {std::cout ( c2.re , c2.im ) std::endl;}}return 0; } 4、数据序列化到内存实例。 #include cpx.hh #include avro/Encoder.hh #include avro/Decoder.hh #include avro/ValidSchema.hh #include avro/Compiler.hh #include avro/DataFile.hh #include avro/Specific.hh #include fstreamavro::ValidSchema loadSchema(const char* filename) {std::ifstream ifs(filename);avro::ValidSchema result;avro::compileJsonSchema(ifs, result);return result; }int main() {//将数据序列化到内存、从avro内存反序列化数据avro::ValidSchema cpxSchema loadSchema(cpx.json);//write streamstd::string strOutput ;{std::stringstream ssOutput;avro::DataFileWriterc::cpx dfw(avro::ostreamOutputStream(ssOutput, 8 * 1024),cpxSchema);c::cpx c1;c1.re 1.0;c1.im 2.13;dfw.write(c1);for (int i 0; i 10; i){c1.re i * 100;c1.im i 100;dfw.write(c1);}dfw.close();strOutput ssOutput.str();printf(OutputSize:%d\n, strOutput.size());//临时保存文件std::ofstream ofs(./test2.bin, std::ios::binary);if (ofs.is_open()){ofs.write(strOutput.data(), strOutput.size());ofs.close();}}//read stream{std::stringstream ssOutput;int n 0;for (n 0; n strOutput.size(); n){ssOutput strOutput[n];}avro::DataFileReaderc::cpx dfr(avro::istreamInputStream(ssOutput, 8 * 1024) , cpxSchema);c::cpx c2;while (dfr.read(c2)) {std::cout ( c2.re , c2.im ) std::endl;}}return 0; }
http://www.pierceye.com/news/199089/

相关文章:

  • seo做的最好的十个网站加工订单网
  • 网站项目建设主要内容网站导航优化的描述
  • 网站后台修改图片网站制作多少钱公司
  • 做网站后台需要写代码吗益阳seo网站建设
  • 小程序网站做多大尺寸辽阳住房和城乡建设网站
  • 昆山app网站制作网站的管理权限有什么用
  • 购物网站建设开题报告企业宣传方案模板
  • cdr做好排班怎么做网站我的免费网是个什么网站
  • 如何做别人网站镜像地区性中介类网站建设
  • 做的网站怎么查看点击率安装wordpress主题失败
  • 网站历史权重查询免费的黄冈网站有哪些下载软件
  • 宝安三网合一网站建设河北智能网站建设平台
  • 在百度上做网站有用吗wordpress环境虚拟机安装
  • 怎么做网站图片链接中元建设网站
  • 邢台做网站优化价格网站基本维护
  • 网站集群建设价格wordpress 加文章列表
  • 官方网站案例用ps做网站主页
  • 做名片的网站推广型网站建设销售
  • 河南省建设执业资格注册中心网站网站推广公司 sit
  • 来年做那个网站致富网站工作室 需要什么手续
  • 宜兴网站建设哪家好网站建设设计公司排名
  • 婚庆公司网站怎么做wordpress 首页置顶
  • 电商网站开发人员结构江苏住房和城乡建设厅网站首页
  • 快速建站的模板陕西省建设网三类人员继续教育
  • 谷歌浏览器对做网站有什么好处广州最好网站策划
  • 西安北郊做网站重庆手机软件开发
  • 怀化刚刚发生的大事台州seo服务
  • 织梦做的网站打开空白巴中网站制作公司
  • 如何使用jq做弹幕网站设计漂亮的网站
  • 电商网站是获取流量广西南宁网站排名优化