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

歡迎訪問 生活随笔!

生活随笔

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

python

python读取hadoop库数据_使用Python访问HDFS

發布時間:2025/3/15 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python读取hadoop库数据_使用Python访问HDFS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近接觸到大數據,對于Skpark和Hadoop的料及都停留在第一次聽到這個名詞時去搜一把看看大概介紹免得跟不上時代的層次。

在實際讀了點別人的代碼,又自己寫了一些之后,雖然談不上理解加深,至少對于大數據技術的整體布局有了更清晰的認識。

HDFS主要用來存儲文件系統,雖然Spark有自己的RDD,但是似乎并未被啟用。我需要的數據,是通過Spark服務啟動的計算程序,寫入HDFS中的。

#這結構怎么看都感覺有點怪。

Spark支持Java、Scala和Python開發,對我來說是個好事。唯一的問題就是如何從HDFS中讀取我需要的數據。

Python的HDFS相關包有很多,我使用的是hdfs,根據官方文檔的說法,同時支持hdfs和WebHDFS,默認創建client的方式好像是WebHDFS,

需要通過datanode進行文件操作,而HDFS則是通過namenode進行文件操作,在這里卡了很久,也換過snakebite等包,直到把端口換成datanode,才正常連接。

※參照文檔:http://fatkun.com/2014/11/httpfs-and-webhdfs.html

hdfs包的安裝命令:

sudo pip install hdfs

啟動hdfs:

>>> from hdfs.client import Client

>>> client = Client("http://localhost:50070") ?# 50070: Hadoop默認namenode

>>> dir(client)

['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__registry__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_append', '_append_1', '_create', '_create_1', '_delete', '_get_content_summary', '_get_file_checksum', '_get_file_status', '_get_home_directory', '_list_status', '_mkdirs', '_open', '_rename', '_request', '_session', '_set_owner', '_set_permission', '_set_replication', '_set_times', '_timeout', 'checksum', 'content', 'delete', 'download', 'from_options', 'list', 'makedirs', 'parts', 'read', 'rename', 'resolve', 'root', 'set_owner', 'set_permission', 'set_replication', 'set_times', 'status', 'upload', 'url', 'walk', 'write']

>>>

其中用到的方法有:

walk() 類似os.walk,返回值也是包含(路徑,目錄名,文件名)元素的數組,每層迭代。

read() 類似file.read,官方文檔的說法是client.read必須在with塊里使用:

with client.read(filepath) as fs:

content = fs.read()

write() 寫文件,同樣需要在with塊中使用:

client.write(filepath, data=data_str, encoding='utf-8')

還有一種寫法:

from hdfs.hfile import Hfile

hfile = Hfile(hostname, port, path, mode='w')

hfile.write(data)

hfile.close()

hfile = Hfile(hostname, port, path)

data = hfile.read()

hfile.close()

在filepath中,如果有不存在的路徑,會被直接創建出來。

目前用到的只有這些,后面如果涉及新的方法或者模塊,會繼續增加。

※ 關于Spark部署任務

Spark部署任務的命令,是spark-submit,語法是

./bin/spark-submit \

--class

--master \

--deploy-mode \

--conf = \

... # other options

\

[application-arguments]

默認可以直接使用Java程序的jar包,Scala是基于Java的,同樣可以打包成jar,對于python文件,需要在處使用--py-files定義,單個文件可以直接寫出,多個文件的話可以打包成.zip或.egg。

參考:http://spark.apache.org/docs/latest/submitting-applications.html

總結

以上是生活随笔為你收集整理的python读取hadoop库数据_使用Python访问HDFS的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 蜜臀久久久久久999 大陆熟妇丰满多毛xxxⅹ | 欧洲一级黄 | 亚洲好视频| 亚洲伊人婷婷 | 国产精品视频区 | 欧美日韩在线直播 | 9久久9毛片又大又硬又粗 | 色偷偷影院 | 女同中文字幕 | 九色91popny蝌蚪新疆 | 国产精品国产三级国产专区51 | 精品日本一区二区 | 青青草偷拍视频 | 日韩午夜片 | 久久天堂av综合合色蜜桃网 | 一区二区视频在线免费观看 | 东京av在线 | 国产又爽又黄无码无遮挡在线观看 | 日韩精品欧美激情 | 57pao成人国产永久免费视频 | 天堂精品一区 | 日韩插插 | 69国产精品视频免费观看 | 黄色片在线看 | 日韩一卡二卡在线 | 精品一二三区 | 1024手机看片日韩 | 免费毛片网 | 亚洲xx网 | 天堂久久av | 18深夜在线观看免费视频 | 超碰97在线免费 | 日韩av成人在线观看 | 欧美一级色 | 欧美日韩va| 久久久久久久91 | 成人依依 | 青青青青青青青青草 | 亚洲精品2区 | 日韩精品久久久久久久电影99爱 | 99少妇| 免费亚洲网站 | 天天色天天操天天 | 打开免费观看视频在线 | 五月婷婷深爱 | 国产无遮挡18禁无码网站不卡 | 人妻视频一区 | 亚洲区在线| 小柔的淫辱日记(h | 夜晚福利视频 | av夜色 | 亚洲欧美日韩成人在线 | 久草视频在线免费播放 | 欧美高h| 97久久久久久 | 国产夫妻性生活 | 精品国产一区二区三区在线观看 | 四川丰满妇女毛片四川话 | 久久国产精品无码一级毛片 | 国产日韩三级 | 中文字幕中出 | 日韩大片免费观看 | 欧美性生交xxxxx久久久 | 日韩毛片在线免费观看 | 国产美女精品一区二区三区 | 日本美女性爱视频 | 亚洲熟女乱色一区二区三区 | 色噜噜狠狠狠综合曰曰曰88av | www.黄色片| 欧美a在线播放 | 国产精品亚洲一区二区三区在线观看 | 国产乱码精品1区2区3区 | 蜜桃视频一区二区三区 | 成人日b视频 | 免费国产羞羞网站视频 | 香蕉视频911 | 国产福利一区二区视频 | 体感预报日剧 | 在线观看超碰 | 2020av视频| 在线播放91灌醉迷j高跟美女 | 免费看91视频 | 国产日产精品一区二区 | 中文字幕有码在线播放 | 免费在线精品视频 | av网站入口| 亚洲三级黄色片 | 五月天堂婷婷 | 国产精选第一页 | 亚洲视屏 | 在哪里看毛片 | 91丨porny丨成人蝌蚪 | 国产精品二 | 青娱乐在线视频免费观看 | 欧美日韩第一区 | 国产网站无遮挡 | 91视频免费看片 | 色咪咪网站 | 国产在线欧美在线 |