官术网_书友最值得收藏!

HDFS

HDFS is a popular storage and access method for storing and retrieving data files for IoT solutions. The HDFS format can hold large amounts of data in a reliable and scalable manner. Its design is based on the Google File System (https://ai.google/research/pubs/pub51). HDFS splits individual files into fixed-size blocks that are stored on machines across the cluster. To ensure reliability, it replicates the file blocks and distributes them across the cluster; by default, the replication factor is 3. HDFS has two main architecture components:

  • The first, NodeName, stores the metadata for the entire filesystem, such as filenames, their permissions, and the location of each block of each file. 
  • The second, DataNode (one or more), is where file blocks are stored. It performs Remote Procedure Calls (RPCs) using protobufs.

RPC is a protocol that one program can use to request a service from a program located on another computer on a network without having to know the network's details. A procedure call is also sometimes known as a function call or a subroutine call.

There are many options for programmatically accessing HDFS in Python, such as snakebite, pyarrow, hdfs3, pywebhdfs, hdfscli, and so on. In this section, we will focus mainly on libraries that provide native RPC client interfaces and work with Python 3.

Snakebite is a pure Python module and CLI that allows you to access HDFS from Python programs.  At present, it only works with Python 2; Python 3 is not supported. Moreover, i t does not yet support write operations, and so we are not including it in the book. However, if you are interested in knowing more about this, you can refer to Spotify's GitHub: https://github.com/spotify/snakebite.
主站蜘蛛池模板: 宜丰县| 县级市| 邹城市| 安宁市| 宁德市| 鄯善县| 双流县| 柳江县| 西藏| 青川县| 常熟市| 正定县| 泌阳县| 梁河县| 外汇| 清丰县| 廊坊市| 永兴县| 璧山县| 建水县| 石柱| 长丰县| 孝感市| 黄陵县| 邮箱| 金坛市| 瑞金市| 濮阳市| 安西县| 阿瓦提县| 肥乡县| 保定市| 鄂温| 井陉县| 溆浦县| 收藏| 宁强县| 永康市| 阳春市| 夹江县| 丹东市|