日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

hdfs user 连接_Python入门操作HDFS

發布時間:2025/3/21 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdfs user 连接_Python入门操作HDFS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方藍色字體,關注我們

讀完需?7?分鐘

?速讀需 3?分鐘?

在了解了Hadoop的基本使用后,需要通過編程語言進一步操作。對于沒有Java基礎的運維人,Python如何操作hdfs也就成了我們優先去學習的。

基礎配置

#1.安裝mkvirtualenv -p python3.6 -a hadoop hadooppip install hdfs#2.配置vim ~/.hdfscli.cfg#全局默認配置[global]default.alias = dev#測試環境hadoop[dev.alias]url = http://dev.namenode:portuser = ann#生產環境hadoop[prod.alias]url = http://prod.namenode:portroot?=?/jobs/

命令行界面

1.上傳、下載文件

# 命令幫助# hdfscli -hCommands:downloadinteractiveupload#1. 下載文件hdfscli download hadoop/input/anaconda-ks.cfg .#2. 上傳文件hdfscli upload navicat121_mysql_cs_x64.tar.gz /hadoop/input/#3. 重定向到文件hdfscli?download?hadoop/input/anaconda-ks.cfg?-?>>?txt

交互模式

交互模式通過hdfs.client.Client進行實例化。

# hdfscliWelcome to the interactive HDFS python shell.The HDFS client is available as `CLIENT`.>>> CLIENT.list('/hadoop/input')['anaconda-ks.cfg', 'hadoop-2.7.2.tar.gz', 'navicat121_mysql_cs_x64.tar.gz']>>> CLIENT.status('/hadoop/input/hadoop-2.7.2.tar.gz'){'accessTime': 1604643646211, 'blockSize': 134217728, 'childrenNum': 0, 'fileId': 16389, 'group': 'supergroup', 'length': 212046774, 'modificationTime': 1603240571897, 'owner': 'root', 'pathSuffix': '', 'permission': '644', 'replication': 3, 'storagePolicy': 0, 'type': 'FILE'}>>> CLIENT.delete('/hadoop/input/anaconda-ks.cfg')True

python綁定

1.實例化

# 連接NameNodefrom hdfs import InsecureClientclient = InsecureClient('http://10.10.10.56:50070', user='root')# 讀取開發環境的hadoop集群from hdfs import Configclient?=?Config().get_client('dev')

2.讀寫文件

#1.讀文件# 判斷路徑是否存在if not client.content('/hadoop/input/test.py', strict=False) is None: with client.read('/hadoop/input/test.py',encoding='utf-8', delimiter='\n') as reader: for line in reader: print(line)#2.寫文件import jsondata = { 'name': 'jack', 'age': 20}json_to_str = json.dumps(data)client.write('/hadoop/input/data.json',?data=json_to_str,?encoding='utf-8')?

對于hdfs中路徑不存在,會拋出一個HdfsError的異常,但是可以通過status()和content()自帶參數strict=False來判斷路徑是否存在:

#/hadoop/in/test.py路徑不存在print(client.content('/hadoop/in/test.py', strict=False))#打印輸出結果None

3.上傳下載文件

#1.上傳文件client.upload('/hadoop/input', './test.py')#2.下載文件client.download('/hadoop/input/data.json',?'./data.json')

4.路徑擴展

resolve()提供路徑擴展功能,并允許使用特殊標記來標識路徑。例如,它當前支持#LATEST標記,該標記可擴展到給定文件夾內的最后修改文件。

#1.輸出絕對路徑,根據參數自動補全絕對路徑,但此路徑不會檢查是否存在print(client.resolve('hadoop/input'))print(client.resolve('input'))#打印輸出結果/hadoop/input/input#2.#LATEST標記,定位文件內最后修改的文件print(client.resolve('hadoop/input/#LATEST'))#打印輸出結果/hadoop/input/data1.json#3.實例,data1.json為新增文件print(client.resolve('hadoop/input/#LATEST'))with client.read('hadoop/input/#LATEST') as reader: data = reader.read() print(data)#打印輸出結果/hadoop/input/data1.jsonb'{"name":?"Sam",?"age":?20}'

hadoop完全分布式部署

Prometheus+k8s之告警通知

grafana+alertmanager實現微信報警

滴滴夜鶯:從監控告警系統向運維平臺演化

kubedog:解決K8S在CI/CD中無法持續追蹤問題

關注我們

總結

以上是生活随笔為你收集整理的hdfs user 连接_Python入门操作HDFS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。