当前位置: 首页 > news >正文

宁波网站建设设计制作/福州seo外包公司

宁波网站建设设计制作,福州seo外包公司,天津seo网站靠谱,网络管理中心1 简介前期我们介绍了ozone的基本概念以及Raft的实现、K8S上的部署。这期我们介绍下如何用hadoop的java、python api及命令行去使用ozone。ozone作为对象存储,它的出现主要是为了解决HDFS的扩展性问题。出于成本考虑,hdfs之前庞大的用户群体中&#xff0…

1 简介

前期我们介绍了ozone的基本概念以及Raft的实现、K8S上的部署。这期我们介绍下如何用hadoop的java、python api及命令行去使用ozone。

ozone作为对象存储,它的出现主要是为了解决HDFS的扩展性问题。出于成本考虑,hdfs之前庞大的用户群体中,有的人并不希望改变其原有的用法。其实从ozone设计之初社区就已经考虑该问题,并实现了Ozone FileSystem兼容了hdfs的api。将集群中的hdfs替换成ozone之后用户的应用程序及用法习惯几乎可以不改变。本文主要介绍以下两部分内容:

  • Java客户端及shell基于o3fs的配置和使用
  • python客户端(pyarrow)的配置和使用
  • 社区关于OzoneFS的最新动态

本文使用的各组件版本为:

hadoop-2.7.5(hadoop3.0以上配置有所不同)

ozone-0.5.0

pyarrow-0.15.1

2 Java客户端及shell基于o3fs的配置和使用

2.1 ozone o3fs的配置

ozone的安装部署这里不做单独介绍(可参考官方部署文档)。ozone目前是将hdfs的fs.defaultFS挂载到某个bucket下,该bucket即为用户的根目录。所以首先我们要在ozone中创建对应的volume和bucket。

ozone sh volume create /volume ozone sh bucket create /volume/bucket

然后在原先hadoop项目或客户端的core-site.xml中添加如下内容,将hdfs的文件系统换成o3fs。注意此时需要把ozone-site.xml拷贝至你的项目或者客户端中。

  fs.o3fs.impl  org.apache.hadoop.fs.ozone.BasicOzoneFileSystem  fs.defaultFS  o3fs://bucket.volume

需要注意的是各hadoop版本对应的o3fs impl不同,具体对应关系可参考下表:

Hadoop versionOzoneFileSystem implementation
3.2org.apache.hadoop.fs.ozone.OzoneFileSystem
3.1org.apache.hadoop.fs.ozone.OzoneFileSystem
2.9org.apache.hadoop.fs.ozone.BasicOzoneFileSystem
2.7org.apache.hadoop.fs.ozone.BasicOzoneFileSystem

最后需要将依赖的ozone-filessystem.jar文件添加到classpath中:

export HADOOP_CLASSPATH=$OZONE_HOME/share/ozone/lib/hadoop-ozone-filesystem-lib-legacy-$OZONE_VERSION.jar:$OZONE_HOME/share/ozone/lib/hadoop-ozone-datanode-$OZONE_VERSION.jar:$HADOOP_CLASSPATH

2.2 ozone o3fs的使用

配置完成后即可用过原生的hdfs命令及api访问ozone。例如用shell访问如下:

hdfs dfs -ls o3fs://bucket.volume/hdfs dfs -mkdir o3fs://bucket.volume/test

使用api访问时行为也不需要发生改变(可以将配置文件放入工程,或者在代码中手动set对应配置),实例代码操作如下

7982ca7fd16cf113ebb85669990f335a.png

Configuration conf = new Configuration();//conf.set需要的配置FileSystem fs = FileSystem.get( conf);fs.createNewFile(new Path("o3fs://bucket.volume/test"));

3 python客户端(pyarrow)的配置和使用

3.1 pyarrow部署及配置

pyarrow中使用于python封装了一套操作hdfs的接口,该接口通过调用libhdfs3(使用C实现),而libhdfs3又是通过调用hdfs/ozone FileSystem的java接口实现。因此在部署pyarrow时同样需要配置部署o3fs。整个部署过程与前面2.1 ozone o3fs的配置一致。配置完成后可直接pip安装pyarrow。

pip install pyarrow

3.2 pyarrow示例代

如下示例保存后直接执行python test.py即可,更多pyarrow的接口介绍及用法可以参考文末参考[1].

//test.pyimport pyarrow as paimport pyarrow.parquet as pqfs = pa.hdfs.connect(host='o3fs://bucket.volume', port={your_port}, user={username})rootpath='/'print(fs.ls(rootpath))

4 社区关于OzoneFS的最新动态

目前通过o3fs访问ozone同一时间只能指定一个bucket。如果需要访问其他bucket,则需要手动修改fs.defaultFS中的bucket。当前ozone社区正在实现新的ofs接口(HDDS-2665,当前整体进度60%左右),主要目的是允许用户同时访问到所有的bucket。

欢迎阅读其他Ozone系列文章

Hadoop原生对象存储Ozone

聊一聊Ozone如何高效利用Raft机制

Ozone on K8S

参考

[1]http://arrow.apache.org/docs/python/filesystems_deprecated.html#hdfs-api 

[2]https://issues.apache.org/jira/browse/HDDS-2665 

[3]https://issues.apache.org/jira/browse/HDDS-2443 

[4]https://hadoop.apache.org/ozone/docs/0.4.0-alpha/ozonefs.html

欢迎关注“数据湖技术”公众号,更多精彩待续!

a53b23f6110ce5f74f24052bd7bb2463.png

http://www.lbrq.cn/news/770023.html

相关文章:

  • 公司网站开发外包公司/百度app交易平台
  • 手机响应式网站开发模板之家/自己怎么制作网站
  • 浦元品牌网站建设/百度竞价点击一次多少钱
  • 网页建站系统/百度快照
  • 想学做网站 应该学/全国疫情突然又严重了
  • 如何编程做网站/被逆冬seo课程欺骗了
  • 继电器做网站/开发网站用什么软件
  • 网站备案最快几天/2022年新闻热点事件
  • 安徽网站建设详细策划/免费网络推广工具
  • 企业网站建设设计公司/职业培训热门行业
  • 建设企业网站是静态还是动态好/兰州网络推广
  • 免费扑克网站代码/新开传奇网站
  • 青岛网站制作价格/怎样建立一个网站
  • 手表网站背景素材/青岛做网站的公司哪家好
  • 云霄县建设局网站投诉/2022年最新新闻播报稿件
  • wordpress数据库损坏网站/武汉刚刚发生的新闻
  • wordpress 商城模版/网站关键词优化排名技巧
  • 建设网站前端/seo外链
  • 如何评判一个网站建设的怎么样/百度百度一下就知道
  • 阿里巴巴做国际网站要多少钱/灰色词seo推广
  • 政府单位建设网站的申请报告/外贸企业网站制作哪家好
  • 上海网站建设 上海网站制作/深圳营销推广公司
  • 深圳开发网站建设/怎样加入网络营销公司
  • 黄骅招聘信息最新/seo免费教程
  • 怎么发布自己做的网站/网站注册时间查询
  • 怎么用h5做网站/seo网站排名优化快速排
  • 利津网站定制/推广营销平台
  • 人大网站建设情况介绍/手机金融界网站
  • 璧山集团网站建设/com网站域名注册
  • 网站链接维护怎么做/苏州网站维护
  • 《探索C++ set与multiset容器:深入有序唯一性集合的实现与应用》
  • 数据结构:后缀表达式:结合性 (Associativity) 与一元运算符 (Unary Operators)
  • 飞算AI:企业智能化转型的新引擎
  • 【论文阅读】RestorerID: Towards Tuning-Free Face Restoration with ID Preservation
  • Flutter GridView的基本使用
  • 机器学习算法篇(十):TF-IDF算法详解与应用实战