php httpfs鏈接hdfs

一.代碼(有bug)

GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS



二.調用代碼

1.代碼1.代碼

require_once('../webhdfs/src/org/apache/hadoop/WebHDFS.php');require_once('../webhdfs/src/org/apache/hadoop/tools/Curl.php');

require_once('../webhdfs/src/org/apache/hadoop/WebHDFS/Exception.php'); $host = '192.168.168.126'; $hdfs = new org\apache\hadoop\WebHDFS(??? $host,??? '14000',??? 'hdfs',??? 'Master00',??? '9000',??? false); echo $hdfs->getHomeDirectory();? //echo "<br>";查看目錄狀態$response = $hdfs->listDirectories('/user/hdfs/');//上傳$response = $hdfs->create('/user/hdfs/ls/composer.json','./webfs.txt'); //默認覆蓋查看文件內容$response = $hdfs->open('/user/hdfs/ls/composer.json');echo "<br>";var_dump($response);

GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS

<?php

//luozhen@antiy.cn

require_once('../webhdfs/src/org/apache/hadoop/WebHDFS.php');

require_once('../webhdfs/src/org/apache/hadoop/tools/Curl.php');

require_once('../webhdfs/src/org/apache/hadoop/WebHDFS/Exception.php');

$host = '192.168.168.126';

$hdfs = new org\apache\hadoop\WebHDFS(??? $host,??? '14000',??? 'hdfs',??? 'Master00',??? '9000',??? false);

echo $hdfs->getHomeDirectory();

?查看目錄狀態

$response = $hdfs->listDirectories('/user/hdfs/');

//上傳

$response = $hdfs->create('/user/hdfs/ls/composer.json','./webfs.txt'); //默認覆蓋

查看文件內容

$response = $hdfs->open('/user/hdfs/ls/composer.json');

echo "<br>";var_dump($response);

GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS

四.代碼有bug。當上傳文件時,這個代碼有bug

解決方式,加頭即可。

四.調用說明,來自README.md

文件和目錄操作

創建和寫入文件
hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > create(' user / hadoop-username / new-file.txt ',' local-file.txt ');
直接創建內容并將其寫入文件
hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > createWithData(' user / hadoop-username / new-file.txt ',' content ');
附加到文件
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > append(' user / hadoop-username / file-to-append-to.txt ',' local-file.txt ');
Concat文件
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > concat(' user / hadoop-username / concatenated-file.txt ',' / test / file1,/ test / file2,/ test / file3 ');
打開并讀取文件
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > open(' user / hadoop-username / file.txt ');
制作目錄
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > mkdirs(' user / hadoop-username / new / directory / structure ');
創建符號鏈接
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > createSymLink(' user / hadoop-username / file.txt ',' / user / hadoop-username / symlink - to -file.txt ');
重命名文件/目錄
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > rename(' user / hadoop-username / file.txt ',' / user / hadoop-username / renamed -file.txt ');
刪除文件/目錄
hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > delete(' user / hadoop-username / file.txt ');
文件/目錄的狀態
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > getFileStatus(' user / hadoop-username / file.txt ');
列出目錄
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > listStatus(' user / hadoop-username / ');

其他文件系統操作

獲取目錄的內容摘要
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > getContentSummary(' user / hadoop-username / ');
獲取文件校驗和
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > getFileChecksum(' user / hadoop-username / file.txt ');
獲取主目錄
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > getHomeDirectory();
設置權限
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > setPermission(' user / hadoop-username / file.txt ',' 777 ');
設置所有者
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > setOwner(' user / hadoop-username / file.txt ',' other-user ');
設置復制因子
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > setReplication(' user / hadoop-username / file.txt ',' 2 ');
設置訪問或修改時間
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > setTimes(' user / hadoop-username / file.txt ');

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713805.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713805.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713805.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

什么是人才儲備?如何做人才儲備?

很多小伙伴都會有企業面試被拒的情況&#xff0c;然后HR會告訴你&#xff0c;雖然沒有錄用你&#xff0c;但是你進入了他們的人才儲備庫&#xff0c;那么這個儲備庫有什么作用和特點呢&#xff1f;我們如何應用人才測評系統完善人才儲備庫呢&#xff1f; 人才儲備一般有以下三…

Python打發無聊時光:12.用PyQt實現簡易的心電起搏器界面

第一步&#xff1a;裝PyQt庫 pip install PyQt5 第二步&#xff1a;復制代碼 import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QPushButton, QVBoxLayout,QWidget, QLabel, QProgressBar, QSlider, QLineEdit, QHBoxLayout) from PyQt5.QtCore import …

軟件分層(數據結構/軟件邏輯上分層+舉例),相連節點的概念+如何相連,為什么是層狀結構(軟件分層,網絡協議分層+梳理協議順序),協議分層(打電話例子)

目錄 軟件分層 介紹 舉例 類的繼承 虛擬文件系統 線程接口封裝 虛擬地址空間 總結 為什么是層狀的 軟件分層 網絡協議 原因 梳理協議順序 相連節點 協議分層 引入 示例 實際上 邏輯上 制定出協議 軟件分層 介紹 通過將軟件系統劃分為不同的層次,每一層都有…

uniApp 調整小程序 單個/全部界面橫屏展示效果

我們打開uni項目 小程序端運行 默認是豎著的一個效果 我們打開項目的 pages.json 給需要橫屏的界面 的 style 屬性 加上 "mp-weixin": {"pageOrientation": "landscape" }界面就橫屏了 如果是要所有界面都橫屏的話 就直接在pages.json 的 gl…

Ps:海綿工具

海綿工具 Sponge Tool可用于調整圖像中特定區域的飽和度&#xff0c;常用于增加或減少顏色的飽和度。 快捷鍵&#xff1a;O 在特別的灰度圖像上&#xff0c;則可用于調整對比度&#xff0c;這可以開發出更多的創意技巧。 ◆ ◆ ◆ 常用操作方法與技巧 1、海綿工具主要用于調整…

源碼解析篇 | YOLOv8官方源碼項目目錄結構解析

前言&#xff1a;Hello大家好&#xff0c;我是小哥談。YOLOv8是一種目標檢測算法&#xff0c;它是YOLO&#xff08;You Only Look Once&#xff09;系列算法的第8個版本。YOLOv8相比于之前的版本&#xff0c;在檢測精度和速度上都有所提升&#xff0c;它在各種場景下都表現出色…

Git源碼管理

參考視頻&#xff1a;16-git的日志以及版本管理_嗶哩嗶哩_bilibili 參考博客&#xff1a;Git && Docker 學習筆記-CSDN博客 目錄 簡介 個人操作初始化 初始化git目錄 查看生成的git目錄文件 配置git工作目錄的用戶信息 查看工作區的狀態&#xff0c;生成文件的…

【JS】生成N位隨機數

作用 用于郵箱驗證碼 碼 ramNum.js /*** 生成N位隨機數字* param {Number} l 默認&#xff1a;6&#xff0c;默認生成6位隨機數字* returns 返回N位隨機數字*/ const ramNum (l 6) > {let num for (let i 0; i < l; i) {const n Math.random()const str String(n…

C++面試干貨---帶你梳理常考的面試題(一)

顧得泉&#xff1a;個人主頁 個人專欄&#xff1a;《Linux操作系統》 《C從入門到精通》 《LeedCode刷題》 鍵盤敲爛&#xff0c;年薪百萬&#xff01; 1.C和C的區別 1.語法和特性&#xff1a;C是一種過程式編程語言&#xff0c;而C是一種面向對象編程語言。C在C的基礎上增加…

Java智慧云HIS醫院信息化系統源碼 更具靈活性、擴展性

目錄 什么是云HIS 趨勢與轉變 HIS上云后有哪些好處 解決方案 云HIS組成 1、門診掛號 2、住院管理 3、電子病歷 4、藥物管理 5、統計報表 6、綜合維護 7、運營運維 什么是云HIS 云HIS是一種基于云計算技術的醫院信息管理系統。云HIS可以幫助醫院管理各類醫院信息&a…

CIE-Alevel-Physics分類真題下載(更新中)

鏈接真題歸類年份https://www.savemyexams.com/https://gceguide.com/papershttps://pastpapers.papacambridge.com/https://rocketrevise.comhttps://www.exam-mate.com/markhint.inhttps://xtremepape.rs/threads/as-and-a-level-physics-topical-pastpapers-upto-2015-with-…

Java Linux基本命令面試題

Java Linux基本命令面試題 前言1、查看文件內容有哪些命令可以使用&#xff1f;2、終端是哪個文件夾下的哪個文件&#xff1f;黑洞文件是哪個文件夾下的哪個命令&#xff1f;3、用什么命令對一個文件的內容進行統計&#xff1f;(行號、單詞數、字節數)4、怎么使一個命令在后臺運…

每日OJ題_分治歸并②_力扣LCR 170. 交易逆序對的總數

目錄 力扣LCR 170. 交易逆序對的總數 解析代碼1 解析代碼2 力扣LCR 170. 交易逆序對的總數 LCR 170. 交易逆序對的總數 難度 困難 在股票交易中&#xff0c;如果前一天的股價高于后一天的股價&#xff0c;則可以認為存在一個「交易逆序對」。請設計一個程序&#xff0c;輸…

Linux系統中安裝redis+redis后臺啟動+常見相關配置

1、下載Redis Redis官網&#xff1a;https://redis.io/ 歷史版本&#xff1a; http://download.redis.io/releases 2、連接Linux&#xff08;或者VMwear&#xff09; 我們安裝的是linux版本的redis 打開xftp我們需要先將我們的Redis上傳到服務器上 解壓到這里 解壓的指令 …

創建型模式之建造者模式

一、概述 1、建造者模式&#xff1a;將一個復雜對象的構建和它的表示分離&#xff0c;使得同樣的構建過程可以創建不同的表示 2、將客戶端與包含多個部件的復雜對象的創建過程分離&#xff0c;客戶端無須知道復雜對象的內部組成部分與裝配方式&#xff0c;只需要知道所需建造…

Spring MVC源碼中設計模式——適配器模式

適配器模式介紹 適配器模式&#xff08;Adapter Pattern&#xff09;是作為兩個不兼容的接口之間的橋梁。這種類型的設計模式屬于結構型模式&#xff0c;它結合了兩個獨立接口的功能。 應用場景&#xff1a; 1、系統需要使用現有的類&#xff0c;而此類的接口不符合系統的需要…

[c++] 繼承和多態整理一

1 private 和 protected 繼承&#xff0c;子類指針不能賦值給父類指針 如下代碼&#xff0c;有一個基類 Base&#xff0c;Derived1&#xff0c;Derived2&#xff0c;Derived3 3 個子類繼承了基類 Base&#xff0c;分別是 private 繼承&#xff0c;protected 繼承&#xff0c;p…

基于springboot+vue的紡織品企業財務管理系統

博主主頁&#xff1a;貓頭鷹源碼 博主簡介&#xff1a;Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰&#xff0c;歡迎高校老師\講師\同行交流合作 ?主要內容&#xff1a;畢業設計(Javaweb項目|小程序|Pyt…

Socket網絡編程(五)——TCP數據發送與接收并行

目錄 主要實現需求TCP 服務端收發并行重構啟動main方法重構重構分離收發消息的操作重構接收消息的操作重構發送消息TCPServer調用發送消息的邏輯監聽客戶端鏈接邏輯重構Socket、流的退出與關閉 TCP 客戶端收發并行重構客戶端 main函數重構客戶端接收消息重構客戶端發送消息重構…

前端封裝通用下載方法及下載后端返回的文件流

目錄 1.下載方法封裝 2.將后端返回的文件流轉換為文件 3.總結 1.下載方法封裝 ①說明 前端的請求大概分為三種類型 普通請求&#xff1a;常用的get&#xff0c;post&#xff0c;put&#xff0c;delete等請求 上傳請求&#xff1a;使用post請求&#xff0c;發送formdata對…