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.mzph.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;生成文件的…

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…

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上传到服务器上 解压到这里 解压的指令 …

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函数重构客户端接收消息重构客户端发送消息重构…

Zookeeper学习1:概述、安装、应用场景、集群配置

文章目录 概述安装LinuxWindows 配置参数集群参考配置文件配置步骤流程启动 概述 Zookeeper&#xff1a; 为分布式框架组件提供协调服务的中间件 【类似&#xff1a;文件系统通知机制】 负责存储上下层应用关系的数据以及接收观察者注册监听&#xff0c;一旦观察查关心的数据发…

笔记73:ROS中的各种消息包

参考视频&#xff1a; 33.ROS 的标准消息包 std_msgs_哔哩哔哩_bilibili 34. ROS 中的几何包 geometry_msgs 和 传感器包 sensor_msgs_哔哩哔哩_bilibili 标准消息包&#xff1a;std_msgs常用消息包&#xff1a;common_msgs导航消息包&#xff1a;nav_msgs几何消息包&#xf…

实战分享:Tomcat打破双亲委派模型,实现Web应用独立与安全隔离的奥秘

目录 一、JVM 类加载机制 二、Tomcat 类加载器 2.2 findClass 介绍 3.2 loadClass 介绍 三、web应用隔离 3.1 Spring 加载问题 在开始文章内容之前&#xff0c;先来看三个问题 假如在 Tomcat 上运行了两个 Web 应用程序&#xff0c;两个 web 应用中有同名的Servlet&#xf…

C++数据结构与算法——二叉树的属性

C第二阶段——数据结构和算法&#xff0c;之前学过一点点数据结构&#xff0c;当时是基于Python来学习的&#xff0c;现在基于C查漏补缺&#xff0c;尤其是树的部分。这一部分计划一个月&#xff0c;主要利用代码随想录来学习&#xff0c;刷题使用力扣网站&#xff0c;不定时更…

AGI概念与实现

AGI AGI&#xff08;Artificial General Intelligence&#xff09;&#xff0c;中文名为“通用人工智能”或“强人工智能”&#xff0c;是指通过机器学习和数据分析等技术&#xff0c;使计算机具有类似于人类的认知和学习能力的技术. 多模态的大模型 &#xff08;Multimodal…

详细介绍如何用windows自带Hyper-V安装虚拟机(windows11和ubuntu22)

通过系统自带的hyper-v安装windows11&#xff0c;舒服又惬意&#xff0c;相比用第三方虚拟机软件速度快很多。 硬件准备 准备 系统需要符合能安装 Hyper-V 的最低要求windows版本含Hyper-V的功能 电脑空间 电脑要有足够的空间来安装你这个虚拟机。根据自己的磁盘容量情况来规…