0737-1.6.1-CDSW分布式计算_workbench分布式计算-程序员宅基地

技术标签: Hadoop实操  

简介

Cloudera Data Science Workbench为从单个交互式会话中启动多个称为workers的引擎实例提供了基本支持。任何R或Python会话均可用于生成workers。这些工作程序可以配置为在启动时运行脚本(例如Python文件)或命令中。

可以使用 launch_workers函数。以及另外两个函数是list_workers 和 list_workers。来自所有工作程序的输出将显示在启动它们的会话的控制台中。会话退出时,这些workers将终止。

Python示例

Python分布式运算基本语法

import cdsw
workers=cdsw.launch_workers(n=2,cpu=0.2,memory=0.5,code="print('Hello from a CDSW Woker')")

  • n(int) -要启动的引擎数。
  • cpu(float) -要分配给引擎的CPU内核数。
  • 内存(float) -分配给引擎的内存的千兆字节数。
  • nvidia_gpu(int,optional) -要分配给引擎的GPU数量。
  • kernel(str,optional) -内核。可以是r、 python2、 python3或scala。
  • script(str,optional) -工作者启动后应立即执行的Python源文件的名称。
  • code(str,optional) -引擎在启动后应立即执行的Python代码。如果指定了脚本,则代码将被忽略。
  • env(dict,optional) -在引擎中设置的环境变量。

list_workers

cdsw.list_workers()

stop_worker

cdsw.stop_workers()

编辑Python文件master.py;在Master引擎中,该脚本将启动三个工作程序并接受来自Workers的传入连接。

# master.py
import cdsw, socket
# Launch two CDSW workers. These are engines that will run in 
# the same project, execute a given code or script, and exit.
workers = cdsw.launch_workers(n=3, cpu=0.2, memory=0.5, script="worker.py")
# Listen on TCP port 6000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("0.0.0.0", 6000))
s.listen(1)
# Accept two connections, one from each worker. Workers will
# execute worker.py.
conn, addr = s.accept()
for i in range(3):
    # Receive a message from each worker and return a response.
    data = conn.recv(20)
    if not data: break
    print("Master received:", data)
    conn.send("Hello From Server!".encode())
conn.close()

编辑worker.py文件;Workers将执行脚本中的命令,并返回给Master。

# worker.py
import os, socket
# Open a TCP connection to the master.
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((os.environ["CDSW_MASTER_IP"], 6000))
# Send some data and receive a response.
s.send("Hello From Worker!".encode())
data = s.recv(1024)
s.close()
print("Worker received:", data)

执行master.py,可以看到执行了三次worker.py。

R语言示例

基本语法

library("cdsw")
workers <- launch.workers(n=2,cpu=0.2,memory=0.5, env="",code="print('Hello From a CDSW Workers')")

由于解析 launch.workers函数的bug,因此定义env 参数。如果未定义env 参数,env参数在内部序列化为与Cloudera Data Science Workbench不兼容的格式。此bug不会影响Python引擎。

编写master.r文件,在Master引擎中,该脚本将启动两个工作程序并接受来自Workers的传入连接。

# master.r
library("cdsw")
# Launch two CDSW workers. These are engines that will run in 
# the same project, execute a given code or script, and exit.
workers <- launch.workers(n=2, cpu=0.2, memory=0.5, env="", script="worker.r")
# Accept two connections, one from each worker. Workers will
# execute worker.r.
for(i in c(1,2)) {
    
  # Receive a message from each worker and return a response.
  con <- socketConnection(host="0.0.0.0", port = 6000, blocking=TRUE, server=TRUE, open="r+")
  data <- readLines(con, 1)
  print(paste("Server received:", data))
  writeLines("Hello from master!", con)
  close(con)
}

编写worker.r文件;Workers将执行以下命令,并返回到Master。

# worker.r
print(Sys.getenv("CDSW_MASTER_IP"))
con <- socketConnection(host=Sys.getenv("CDSW_MASTER_IP"), port = 6000, blocking=TRUE, server=FALSE, open="r+")
write_resp <- writeLines("Hello from Worker", con)
server_resp <- readLines(con, 1)
print(paste("Worker received:  ", server_resp))
close(con)

执行master.r,可以看到执行了两次worker.r

参考文档

https://docs.cloudera.com/documentation/data-science-workbench/1-6-x/topics/cdsw_parallel_computing.html
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Hadoop_SC/article/details/104066970

智能推荐

virtuoso 后仿 ADE L error_后仿真 referencing an undefined model or subcircuit-程序员宅基地

文章浏览阅读470次。解决办法:在model library添加dio_tt的model。原因:model library 没设置二极管的model。ADE后仿时出现error。_后仿真 referencing an undefined model or subcircuit

深度学习笔记——pytorch实现双向GRU(BiGRU)-程序员宅基地

文章浏览阅读1k次,点赞12次,收藏16次。参考视频。_双向gru

东方博宜OJ答案 (1011~1020)_东方博宜oj答案1062-程序员宅基地

文章浏览阅读926次,点赞12次,收藏8次。欢迎大家能看到我的文章,这篇文章收录了东方博宜OJ 1011~1020所有题目的答案,后续还会往后出,敬请关注!如遇不足,欢迎指出!(不要喷我┭┮﹏┭┮)_东方博宜oj答案1062

电子设计教程49:16*16LED点阵屏驱动-74HC595的原理_16*16点阵引脚-程序员宅基地

文章浏览阅读6.9k次,点赞12次,收藏60次。  我尝试通过移位寄存器级联+三八译码器,实现用3跟控制线,驱动16*16LED点阵屏的效果。这是第一篇博客,讲述74HC595芯片的工作原理  一般情况下,使用单片机来控制LED。一个引脚,控制一个LED,是最直观的方法。但也是最笨的方法。引脚对于单片机来说是珍贵的资源,同样性能的芯片引脚越多,价格就越贵。然而有些外设会占用很多引脚,例如LED屏幕。理论上来讲,一个LED需要一个引脚来操作,64个LED组成8×8屏幕,就需要多达64个引脚。但聪明的工程师会节省引脚,把LED按照行列连接,形成矩阵,只需要_16*16点阵引脚

Docker部署Springboot项目连接到PostgreSQL_docker spring boot nacos连接postgresql数据库-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏8次。docker小白的学习笔记,将自己之前做的Springboot项目做成容器进行试验,新建的PG数据库并没有导入数据,但是此过程可用。一:部署 postgresql镜像。1:搜索postgresql镜像。docker search postgres;2:拉取postgres镜像docker pull postgres3:创建本地目录映射到容..._docker spring boot nacos连接postgresql数据库

SSL协议详解-程序员宅基地

文章浏览阅读3.2k次。SSL)是一个安全协议,为基于TCPTransmission Control Protocol)的应用层协议提供安全连接,SSL介于TCP/IP协议栈第四层和第七层之间。主要提供私密性、完整性和身份验证;我们常见的就是 SSL为HTTP)协议提供安全连接。SSL协议是一种在两个机器之间提供安全通道的协议,它具有保护数据传输以及识别通信机器的功能。内的愈来愈多的浏览器支持SSL,SSL协议成为应用最广泛的安全协议之一。_ssl协议

随便推点

YOLOv4 介绍及其模型优化方法-程序员宅基地

文章浏览阅读2.2k次。YOLOv4 介绍及其模型优化方法一、YOLOv4 介绍2020 年 4 月,YOLOv4 在悄无声息中重磅发布,在目标检测领域引起广泛的讨论。在 YOLO 系列的原作者 Joseph R..._yolo模型剪枝和蒸馏

Android Native Crash 收集(1)-程序员宅基地

文章浏览阅读617次,点赞27次,收藏21次。感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。

bootstrap-fileinput后端接收不到数据_动态人像抓拍比对系统架构(前端抓拍+网络传输+后端视频解析)...-程序员宅基地

文章浏览阅读103次。动态人像抓拍比对系统由前端人脸抓拍采集子系统、网络传输子系统和后端解析管理子系统组成,实现对通行人脸信息的采集、传输、处理、分析与集中管理。系统中,前端人脸采集设备负责人脸图像的采集,接入服务器主要实现图片及信息的接收和转发功能,可为多种型号、多个厂家的抓拍机提供统一接入服务,接收到的抓拍图片存入云存储单元,并由人脸结构化分析服务器对抓拍的视频及图像进行建模以及黑名单实时比对报警,建模得到的人脸信..._bootstrap fileinput request.form.files获取不到

抖音seo矩阵系统源码搭建步骤分享_云索seo矩阵系统-程序员宅基地

文章浏览阅读115次。抖音SEO矩阵系统是基于抖音平台的搜索引擎优化技术的一种系统,其主要作用是通过一系列的技术手段,提高抖音视频的曝光和排名,使其获得更多的流量和粉丝。在本文中,我们将介绍抖音SEO矩阵系统的开发技术,包括系统设计、代码实现等方面。将源码上传到服务器上,并修改相关配置参数,包括数据库连接参数、域名配置、后台管理员账号等。从公开的代码托管网站上下载抖音SEO账号矩阵系统的源码,例如Github、码云等。将配置好的源码部署到Nginx服务器上,并设置网站的根目录指向源码的入口文件。并在网站上购买一个域名。_云索seo矩阵系统

国内顶级AI赛事再启程,第三届“中国人工智能大赛”聚焦算法治理、深度伪造与网络安全_第三届人工智能大赛网络安全赛道-程序员宅基地

文章浏览阅读813次。本届大赛赛题分为算法治理、深度伪造和网络安全三大方向的七大赛题,分别是:过滤算法鲁棒性、深度伪造视频检测、深度伪造视频生成方法识别、基于人工智能的音视频合成比赛、说话人无关的音频深度伪造检测识别、说话人相关的音频深度伪造检测识别、Webshell检测识别。编辑 | 宋慧出品 | CSDN近日,由国家互联网信息办公室、工业和信息化部、公安部、国家广播电视总局、厦门市人民政府联合主办,以“融新汇智,竞促发展”为主题的第三届中国人工智能大赛,在北京正式启动。大赛旨在推进国内人工智能技术创.._第三届人工智能大赛网络安全赛道

JDK环境变量配置成功,命令提示符(CMD)中,输入java、javac、java -version等没有反应_cmd中配置java环境后javac无反应-程序员宅基地

文章浏览阅读435次,点赞7次,收藏11次。看起来很不方便,原来若Path变量值是%开头的,它就会显示一个字符串(相当于每一行之间自动添加一个分号);想要显示列表的话,需要将变量值改为以盘符开始。双击环境变量里的path,然后把画圈的那两行移到最上边即可解决问题。但是这样的话,当年再次双击path时就会呈现如下界面,(全是小写)添加到最前面。如图所示即可解决问题。_cmd中配置java环境后javac无反应

推荐文章

热门文章

相关标签