Apache Avro

Kafka:大数据开发最火的核心技术

拟墨画扇 提交于 2020-03-20 09:36:43
3 月,跳不动了?>>> 大数据时代来临,如果你还不知道Kafka那你就真的out了!据统计,有三分之一的世界财富500强企业正在使用Kafka,包括所有TOP10旅游公司,7家TOP10银行,8家TOP10保险公司,9家TOP10电信公司等等。 LinkedIn,Microsoft和Netflix每天都用Kafka处理万亿级的信息。Kafka主要应用于实时信息流的大数据收集或者实时分析(或者两者兼有)。Kafka既可以为内存微服务提供持久性服务,也可以用于向复杂事件流系统和IoT/IFTTT式自动化系统反馈事件。 为什么是Kafka? Kafka常用于实时流数据结构的实时分析。由于Kafka是一种快速、可扩展、可持久和高容错的发布-订阅消息系统(publish-subscribe messaging system),所以Kafka对于一些Use Case(有大数据量和高响应需求)的支持远好于JMS、RabbitMQ和AMQP。相比于那些工具,Kafka支持更高的吞吐量,更高的稳定性和副本(replication)特性。这使得它比传统的MOM更加适合跟踪服务调用(可以跟踪每次调用)或跟踪IoT传感器数据。 Kafka可以与Flume/Flafka、Spark Streaming、Storm、HBase、Flink以及Spark配合使用,用于实时获取、分析和处理流数据

kafka connect分布式安装

我的梦境 提交于 2020-03-11 17:38:30
kafka connect分布式部署 Apache Kafka 消息分发组件,数据采集后先入Kafka Schema Registry Schema管理服务,消息出入kafka、入hdfs时,给数据做序列化/反序列化处理。 Kafka Connect 提供kafka到其他存储的管道服务,此次焦点是从kafka到hdfs,并建立相关HIVE表。 Kafka Rest Proxy 提供kafka的Rest API服务。 Kafka Clients 提供Client编程所需SDK。 说明:以上服务除Apache kafka由Linkedin始创并开源,其他组件皆由Confluent公司开发并开源。上图解决方案由confluent提供。 基本逻辑步骤 数据通过Kafka Rest/Kafka Client写入Kafka; kafka Connect任务作为consumer从kafka订阅数据; kafka Connect任务建立HIVE表和hdfs文件的映射关系; kafka connect任务收到数据后,以指定格式,写入指定hdfs目录; 实际操作: 启动kafka服务 首先进行集群间ssh免密登陆 后期为了测压可控,自己单独搭建了,在所有节点启动 安装zookeeper 具体安装见博文 ZOOKEEPER安装及测试 安装kafka 可以采取集成或自己单独搭建 kafka

《Hadoop大明白》【2】pyspark的应用场景

[亡魂溺海] 提交于 2020-02-29 07:46:47
1,python的码农涉猎Hadoop,首选pyspark 2,开发spark应用,需要知道的几个点: 【1】SQL语句:insert into / overwirte 【2】DataFrame的常用API 【3】UDF函数 【4】Kafka组件使用 【5】Avro序列化 【6】RDD的坑:谨防嵌套使用 来源: oschina 链接: https://my.oschina.net/u/107574/blog/2962594

parquet介绍

假装没事ソ 提交于 2019-12-28 12:39:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Apache Parquet是Hadoop生态系统中任何项目均可使用的 列式存储 格式,而与选择数据处理框架,数据模型或编程语言无关。 parquet文件的优势 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。 压缩编码可以降低磁盘存储空间,由于同一列的数据类型是一样 的,可以使用不同的压缩编码。 只读取需要的列,支持向量运算,能够获取更好的扫描 性能。 Parquet适配多种计算框架,查询引擎(Hive、Impala 、pig 、IBMBigSQL等等); 计算框架(MapReduce、Spark、Kite 、Cascading等等);数据模型(Avro、Thrift、 ProtocolBuffers等) 来源: oschina 链接: https://my.oschina.net/u/4427158/blog/3148945

使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

不想你离开。 提交于 2019-12-04 08:38:36
0. Data Lake Analytics(DLA)简介 关于Data Lake的概念,更多阅读可以参考: https://en.wikipedia.org/wiki/Data_lake 以及AWS和Azure关于Data Lake的解读: https://amazonaws-china.com/big-data/datalakes-and-analytics/what-is-a-data-lake/ https://azure.microsoft.com/en-us/solutions/data-lake/ 终于,阿里云现在也有了自己的数据湖分析产品: https://www.aliyun.com/product/datalakeanalytics 可以点击申请使用(目前公测阶段还属于邀测模式,我们会尽快审批申请),体验本教程的TPC-H CSV数据格式的数据分析之旅。 产品文档: https://help.aliyun.com/product/70174.html 1. 开通Data Lake Analytics与OSS服务 如果您已经开通,可以跳过该步骤。如果没有开通,可以参考: https://help.aliyun.com/document_detail/70386.html 进行产品开通服务申请。 2. 下载TPC-H测试数据集 可以从这下载TPC-H

0016-Avro序列化&反序列化和Spark读取Avro数据

≯℡__Kan透↙ 提交于 2019-12-03 04:22:38
1.简介 本篇文章主要讲如何使用java生成Avro格式数据以及如何通过spark将Avro数据文件转换成DataSet和DataFrame进行操作。 1.1Apache Arvo是什么? Apache Avro 是一个数据序列化系统,Avro提供Java、Python、C、C++、C#等语言API接口,下面我们通过java的一个实例来说明Avro序列化和反序列化数据。 支持丰富的数据结构 快速可压缩的二进制数据格式 存储持久数据的文件容器 远程过程调用(RPC) 动态语言的简单集成 2.Avro数据生成 2.1定义Schema文件 1.下载avro-tools-1.8.1.jar Avro官网: http://avro.apache.org/ Avro版本:1.8.1 下载Avro相关jar包:avro-tools-1.8.1.jar 该jar包主要用户将定义好的schema文件生成对应的java文件 2.定义一个schema文件,命名为CustomerAdress.avsc { "namespace":"com.peach.arvo", "type": "record", "name": "CustomerAddress", "fields": [ {"name":"ca_address_sk","type":"long"}, {"name":"ca_address_id",

Hadoop源码导入Eclipse及问题解决

左心房为你撑大大i 提交于 2019-11-30 12:11:23
导入Hadoop相关源码,真是一件不容易的事情,各种错误,各种红,让你体验一下解决万里江山一片红的爽快! 一、准备 1、相关软件 Hadoop源码 :本人这里选择的是hadoop-2.7.1-src.tar.gz 下载地址:https://archive.apache.org/dist/hadoop/common/ JDK :2.7版本的Hadoop建议使用1.7的JDK。本人这里选择的是:jdk-7u80-windows-x64.exe Eclipse :Oxygen.2 Release (4.7.2) Maven :apache-maven-3.3.1.zip 下载地址:http://mirrors.shu.edu.cn/apache/maven/ 历史下载地址:https://archive.apache.org/dist/maven/binaries/ libprotoc :protoc-2.5.0-win32.zip 推荐版本下载地址:https://github.com/protocolbuffers/protobuf/releases 2.5.0版本下载地址:https://github.com/protocolbuffers/protobuf/releases?after=v3.0.0-alpha-4.1 2、安装 1.JDK 本人这里安装的是jdk-7u80

zk中的序列化

寵の児 提交于 2019-11-30 12:04:14
网络传输和数据存储中都离不开序列化 使用的是jute,性能更强的有 Apache Avro ,thrift,protobuf等序列化组件 序列化所在模块org.apache.jute compiler下面有 外层有接口 Index 是用来做什么的? InputArchive 实现类BinaryInputArchive OutputArchive 实现类 BrinaryOutputArchive ToStringOutputArchive Record 外层有接口 Index 是做什么用的? 来源: https://my.oschina.net/iioschina/blog/3110648

Schema Registry 教程

感情迁移 提交于 2019-11-30 02:49:19
物联网设备终端种类繁杂,各厂商使用的编码格式各异,所以在接入物联网平台的时候就产生了统一数据格式的需求,以便平台之上的应用进行设备管理。 EMQ X 企业版 3.4.0 提供了 Schema Registry 功能,提供编解码能力。Schema Registry 管理编解码使用的 Schema、处理编码或解码请求并返回结果。Schema Registry 配合规则引擎,可适配各种场景的设备接入和规则设计。 数据格式 下图展示了 Schema Registry 的一个应用案例。多个设备上报不同格式的数据,经过 Schema Registry 解码之后,变为统一的内部格式,然后转发给后台应用。 [图1: 使用 Schema Registry 对设备数据进行编解码] 二进制格式支持 EMQ X 3.4.0 内置的 Schema Registry 数据格式包括 Avro 和 Protobuf 。Avro 和 Protobuf 是依赖 Schema 的数据格式,编码后的数据为二进制,使用 Schema Registry 解码后的内部数据格式(Map,稍后讲解) 可直接被规则引擎和其他插件使用。此外 Schema Registry 支持用户自定义的 (3rd-party) 编解码服务,通过 HTTP 或 TCP 回调的方式,进行更加贴近业务需求的编解码。 架构设计 Schema

Kafka连接器深度解读之转换器和序列化

时光毁灭记忆、已成空白 提交于 2019-11-30 02:21:27
Kafka连接器 是Apache Kafka®的一部分,提供数据存储与Kafka之间的流式集成。对于数据工程师来说,只需要使用JSON格式配置文件即可。目前已经有很多数据存储的连接器,仅举几例来说,包括 JDBC , Elasticsearch , IBM MQ , S3 和 BigQuery 。 对于开发者,Kafka连接器有丰富的 API ,如有必要,可以 开发 自己的连接器。此外它还具有用于配置和管理连接器的 REST API 。 Kafka连接器本身是模块化的,提供了非常强大的满足集成需求的方法,部分关键组件包括: 连接器:定义了一组如何与数据存储集成的JAR文件; 转换器:处理数据的序列化和反序列化; 变换:传输过程中的消息处理(可选)。 围绕Kafka连接器,常见的错误或者误解之一是数据的序列化,这是Kafka连接器通过转换器进行处理的,下面会介绍它们的工作机制,并说明一些常见问题如何处理。 Kafka消息只是字节 Kafka消息是按照主题进行组织的。每条消息都是一个键/值对,不过Kafka就需要这些。当数据在Kafka中存储时都只是字节,这使得Kafka可以适用于各种场景,但这也意味着开发者有责任决定如何对数据进行序列化。 在配置Kafka连接器时,标准步骤的关键之一是序列化格式,要确保主题的读取方和写入方使用相同的序列化格式,否则会出现混乱和错误! 常见的格式有很多