数据来源、摄取与存储技术解析
立即解锁
发布时间: 2025-08-21 01:26:45 阅读量: 2 订阅数: 18 


Azure数据工程与处理实战指南
### 数据来源、摄取与存储技术解析
#### 1. 数据摄取相关产品
在数据处理的过程中,数据摄取是至关重要的第一步。有多种产品可用于数据摄取,例如对于基于 Apache Kafka for HDInsight 现有解决方案且想迁移到 Azure 的用户,这是一个不错的选择。不过从微软的角度来看,使用 Event Hubs 和 IoT Hub 搭配 Azure Stream Analytics 也能实现相同的功能。这些产品组合能够以前所未有的容量、速度和规模从流式数据源摄取流式数据。
当在 Azure 上预配 HDInsight 集群时,需要选择集群类型。运行 Apache Kafka for HDInsight 所需的节点包括头节点、Zookeeper 节点和工作节点。头节点可通过 SSH 手动执行应用程序,并且负责管理 HDInsight 集群的执行和管理进程。Zookeeper 节点用于监控和跟踪与 Kafka 相关的各种信息,如名称、配置、同步、主题、分区、消费者组等,它是在 HDInsight 上运行 Kafka 的必需组件,而头节点则是所有 HDInsight 集群类型都必需的。工作节点提供计算资源、CPU 和内存,以执行应用程序所需的自定义代码和数据处理。
Apache Kafka 和 Event Hubs 有一些相似的术语,如下表所示:
| Kafka | Event Hubs |
| --- | --- |
| Cluster | Namespace |
| Topic | Event Hub |
| Partition | Partition |
| Consumer group | Consumer group |
| Offset | Offset |
其中,偏移量(offset)是用于唯一标识分区内事件消息的一种方式。如果需要停止并重新开始处理给定分区的事件,可以使用偏移量来确定从何处开始。
#### 2. 数据迁移与移动
随着时间的推移,数据的持久批处理、增量加载、流式传输、插入或更新会增加数据量。如果要将大量的内部数据(如千兆字节、兆兆字节或拍字节)迁移到云端,需要使用特殊的迁移产品,如 Azure Migrate、Azure Data Box 和 Azure Database Migration Service。使用 FTP、通过网络复制数据库备份或编写自定义代码将数据移动到 Azure 都不是最佳选择。
Azure Migrate 不仅提供数据库迁移功能,还支持虚拟机、Web 应用和虚拟桌面基础架构(VDI)的迁移。Azure Data Box 可从 Azure Monitor 面板获取,使用时需要提供诸如数据传输是进入 Azure 还是从 Azure 传出、目标或源订阅、资源组、数据源位置和目标数据位置等信息。
Azure Database Migration Service 支持多种不同的数据库,包括 MySQL、PostgreSQL、MongoDB 和 Azure Cosmos DB。如果主要关注 SQL Server,可以在 Azure Data Studio 中安装 Azure SQL Migration 扩展,它将指导你完成将现有数据库迁移到 Azure 的必要步骤。需要注意的是,通过 Internet 复制大量数据存在风险且成本较高,因此可以考虑设置 ExpressRoute 连接,这是一种私有连接,能提高性能、稳定性和安全性。
#### 3. 数据存储相关技术
数据摄取后,需要进行有效的存储。Azure 有多种产品可用于存储摄取的数据,如 Azure Data Lake Storage (ADLS)、Azure SQL、Azure Cosmos DB、Azure HDInsight 和 Azure Databricks。
##### 3.1 物理数据存储结构
物理数据存储设备通常是连接到或映射自计算机的磁盘驱动器,数据结构以目录模式存储在物理磁盘上,其中包含数据的文件就存放在这些目录中。
##### 3.2 数据压缩
处理大文件可能会导致网络瓶颈并增加 I/O 操作次数。数据压缩可以减小文件大小,对网络和 I/O 延迟产生积极影响。公司通常按占用的存储空间和进出数据传输量收费,因此使用数据压缩可以节省成本。数据压缩使存储数据的文件变小,解压缩则将数据恢复到原始形式和大小,在查询文件内容之前需要进行解压缩。执行数据压缩/解压缩(也称为编码/解码)的方法是选择编解码器(codec)。以下是实现数据压缩的具体步骤:
1. 登录 Azure 门户(https://portal.azure.com),导航到在之前练习中创建的存储账户,选择“Containers”菜单项,选择一个目录,上传位于 GitHub(https://github.com/benperk/ADE)的 Chapter04/Ch04Ex01 目录中的两个 GZ 和 ZIP 压缩的 CSV 格式数据文件。
2. 导航到在之前练习中创建的 Azure Synapse Analytics 工作区,在“Overview”面板上,点击“Open Synapse Studio”磁贴中的“Open”链接,选择“Data hub”,按照之前练习的说明创建一个集成数据集。
3. 完成数据集后,选择两个压缩的 brainjammer 读取文件之一,勾选“First Row as
0
0
复制全文
相关推荐










