真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何讓HDFS中的Java和PythonAPI接口連接

今天就跟大家聊聊有關(guān)如何讓HDFS中的Java和Python API接口連接,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站制作、寬甸網(wǎng)絡(luò)推廣、小程序定制開發(fā)、寬甸網(wǎng)絡(luò)營銷、寬甸企業(yè)策劃、寬甸品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供寬甸建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

現(xiàn)在進入HDFS中的Java和Python的API操作,后面可能介紹Scala的相關(guān)的。

在講Java API之前介紹一下使用的IDE——IntelliJ IDEA ,我本人使用的是2020.3 x64的社區(qū)版本。

Java API

創(chuàng)建maven工程,關(guān)于Maven的配置,在IDEA中,Maven下載源必須配置成阿里云。

如何讓HDFS中的Java和Python API接口連接

在對應(yīng)的D:\apache-maven-3.8.1-bin\apache-maven-3.8.1\conf\settings.xml需要設(shè)置阿里云的下載源。

下面創(chuàng)建maven工程,添加常見的依賴

如何讓HDFS中的Java和Python API接口連接

添加hadoop-client依賴,版本最好和hadoop指定的一致,并添加junit單元測試依賴。

            org.apache.hadoop         hadoop-common         3.1.4               org.apache.hadoop         hadoop-hdfs         3.1.4             org.apache.hadoop       hadoop-client       3.1.4             junit       junit       4.11    

HDFS文件上傳

在這里編寫測試類即可,新建一個java文件:main.java

這里的FileSyste一開始是本地的文件系統(tǒng),需要初始化為HDFS的文件系統(tǒng)

import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.junit.Test; import java.net.URI; public class main {      @Test     public void testPut() throws Exception {         //   獲取FileSystem類的方法有很多種,這里只寫一種(比較常用的是使URI)         Configuration configuration = new Configuration();         // user是Hadoop集群的賬號,連接端口默認9000         FileSystem fileSystem = FileSystem.get(                 new URI("hdfs://192.168.147.128:9000"),                 configuration,                 "hadoop");         // 將f:/stopword.txt 上傳到 /user/stopword.txt         fileSystem.copyFromLocalFile(                 new Path("f:/stopword.txt"), new Path("/user/stopword.txt"));         fileSystem.close();     } }

在對應(yīng)的HDFS中,就會看見我剛剛上傳的機器學習相關(guān)的停用詞。

如何讓HDFS中的Java和Python API接口連接

HDFS文件下載

由于每次都需要初始化FileSystem,比較懶的我直接使用@Before每次加載。

HDFS文件下載的API接口是copyToLocalFile,具體代碼如下。

@Test public void testDownload() throws Exception {     Configuration configuration = new Configuration();     FileSystem fileSystem = FileSystem.get(             new URI("hdfs://192.168.147.128:9000"),             configuration,             "hadoop");     fileSystem.copyToLocalFile(             false,             new Path("/user/stopword.txt"),             new Path("stop.txt"),             true);     fileSystem.close();     System.out.println("over"); }

Python API

下面主要介紹hdfs

我們通過命令pip install hdfs安裝hdfs庫,在使用hdfs前,使用命令hadoop fs -chmod -R 777 /  對當前目錄及目錄下所有的文件賦予可讀可寫可執(zhí)行權(quán)限。

>>> from hdfs.client import Client >>> #2.X版本port 使用50070  3.x版本port 使用9870 >>> client = Client('http://192.168.147.128:9870')   >>> client.list('/')   #查看hdfs /下的目錄 ['hadoop-3.1.4.tar.gz'] >>> client.makedirs('/test') >>> client.list('/') ['hadoop-3.1.4.tar.gz', 'test'] >>> client.delete("/test") True >>> client.download('/hadoop-3.1.4.tar.gz','C:\\Users\\YIUYE\\Desktop') 'C:\\Users\\YIUYE\\Desktop\\hadoop-3.1.4.tar.gz' >>> client.upload('/','C:\\Users\\YIUYE\\Desktop\\demo.txt') >>> client.list('/') '/demo.txt' >>> client.list('/') ['demo.txt', 'hadoop-3.1.4.tar.gz'] >>> # 上傳demo.txt 內(nèi)容:Hello \n hdfs >>> with client.read("/demo.txt") as reader: ...          print(reader.read()) b'Hello \r\nhdfs\r\n'

相對于Java API,Python API連接實在簡單。

看完上述內(nèi)容,你們對如何讓HDFS中的Java和Python API接口連接有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)頁名稱:如何讓HDFS中的Java和PythonAPI接口連接
當前網(wǎng)址:http://weahome.cn/article/gespjc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部