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

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.
主站蜘蛛池模板: 武乡县| 庆云县| 咸阳市| 章丘市| 新乐市| 贺兰县| 万山特区| 河源市| 龙游县| 青河县| 夏邑县| 三河市| 会泽县| 扎兰屯市| 闸北区| 石泉县| 随州市| 雅安市| 黔东| 广昌县| 昌平区| 乐安县| 巴南区| 疏勒县| 健康| 开封县| 增城市| 双牌县| 广汉市| 扶绥县| 平果县| 黄冈市| 郧西县| 松溪县| 孙吴县| 万安县| 和龙市| 新闻| 定结县| 钟祥市| 饶阳县|