成人午夜一区二区_操碰在线视频_国产精品麻豆一区二区三区_中文黄色一级片_欧美日本中文字幕_高清视频91

當前位置: 首頁 / 技術干貨 / 正文
Python操作HDFS

2023-02-23

   文件 hdfs

Python操作HDFS

  三方庫的安裝

  Python原生并沒有對HDFS的支持,如果想要使用Python來操作HDFS,需要我們安裝第三方庫 hdfs

  pip install hdfs

  安裝完畢后,我們就可以使用python來操作HDFS咯。

  客戶端的獲取

  在操作HDFS的時候,第一步我們要做的就是獲取到HDFS的客戶端,建立與HDFS的連接。

  在hdfs模塊中有兩個類,都是HDFS的客戶端:Client和InsecureClient

  ●Client: HDFS客戶端類,其中定義了對HDFS的操作,但是不能指定操作的用戶

  ●InsecureClient: Client的子類,可以指定操作的用戶

  from hdfs import InsecureClient

  """

  1. 創建客戶端對象,需要設置兩個參數

  url: 連接到的HDFS的namenode,需要設置的是webui的地址

  user: 設置操作HDFS的用戶

  """

  client = InsecureClient(url="http://qianfeng01:9870", user="root")

  增操作

  # 1. 創建一個新的文件夾

  client.makedirs("/py_dir")

  # 2. 上傳本地文件

  client.upload("/py_dirs", "./1. Python操作HDFS.py", )

  # 3. 直接創建文件

  client.write("/py_dir/test.file", data="this is a py file", overwrite=True, enco

  刪操作

  # 1. 刪除文件

  client.delete("/py_dir/test.file")

  # 2. 刪除文件夾,默認只能刪除空的文件夾

  # 如果需要刪除非空的文件夾,需要設置recursive為True,實現遞歸刪除

  client.delete("/py_dir", recursive=True)

  改操作

  # 1. 重命名文件、文件夾

  client.rename("/py_dir", "/py_dirs")

  查操作

  # 1. 列舉一個文件夾下有什么文件,返回一個list

  sub = client.list("/")

  print(type(sub), sub)

  # 2. 查看文件屬性

  # strict:

  # True: 嚴格模式,如果指定的文件/文件夾不存在,則會拋異常。默認。

  # False: 非嚴格模式,如果指定的文件/文件夾不存在,不會拋異常,返回None。

  # 返回值是一個字典:

  # blockSize: 塊大小

  # accessTime: 訪問時間

  # childrenNum: 子文件的數量,對于文件來說就是0

  # fileId: 文件ID

  # group: 所屬用戶組

  # length: 文件大小(字節)

  # modificationTime: 文件修改時間

  # owner: 所屬用戶

  # permission: 文件權限

  # replication: 副本數量

  # type : 文件類型 DIRECTORY|FILE

  print(client.status("/py_dirs"))

  # 3. 查看文件中的內容,返回_GeneratorContextManager

  res = client.read("/py_dirs/1. Python操作HDFS.py")

  print(res)

  res.close()

  with client.read("/py_dirs/1. Python操作HDFS.py") as file:

  # read會將讀取到的數據存儲到data中,用utf8解碼即可

  print(file.data.decode("utf8"))

  # 4. 對于大型的文件,如果直接讀取到內存中,可能會造成內存溢出的情況。因此需要分段讀取

  file_path = "/py_dirs/1. Python操作HDFS.py"

  offset = 0

  length = 128

  file_length = client.status(file_path).get("length")

  while offset < file_length:

  with client.read(file_path, offset=offset, length=length) as reader:

  print(reader.data.decode("utf8"))

  offset += length

  # 5. 下載文件到本地

  client.download("/py_dirs", "./")

好程序員公眾號

  • · 剖析行業發展趨勢
  • · 匯聚企業項目源碼

好程序員開班動態

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數據+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發 <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數據分析 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓IT培訓
在線咨詢
IT培訓IT培訓
試聽
IT培訓IT培訓
入學教程
IT培訓IT培訓
立即報名
IT培訓

Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號

主站蜘蛛池模板: 日韩免费视频一区二区 | 成人精品福利 | 91久久久久久 | 精品国产乱码久久久久久图片 | 色五月激情综合网 | 黄色av电影在线观看 | 国产ts一区 | 99国产精品视频免费观看 | 亚洲国产精品麻豆 | 久久精品免费观看 | 日本色一区 | 精品国产欧美一区二区三区成人 | 成人在线网 | 91在线亚洲 | av免费网站在线观看 | 91国内精品久久 | 国产精品高潮呻吟久久 | 麻豆成人久久精品二区三区小说 | 玖玖在线精品 | 日韩欧美视频一区 | 在线91观看| 国产激情一区二区三区 | 一级片免费视频 | 国产精品久久久久久久久久小说 | 久久精品视频一区二区 | 欧美 日韩 中文 | 欧美综合久久 | 亚洲国产精品99久久久久久久久 | 欧美精品一区二区三区在线 | 欧美偷拍一区二区 | 国产hsck在线亚洲 | 亚洲天堂一区二区 | ree性亚洲88av | 久久国产精品99久久久久久进口 | 最新精品国产 | 国产精品日韩一区二区 | 国产a自拍| 黄色毛片三级 | 成人国产精品免费网站 | 99久久久久| 亚洲性无码av在线 |