技术标签: 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')")
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
文章浏览阅读2.1k次。上一篇讲了mybatisplus的介绍以及入门教程,这一片介绍关于它的CRUD直接上代码。三、CRUD接口一、insert1、插入操作@RunWith(SpringRunner.class)@SpringBootTestpublic class CRUDTests { @Autowired private UserMapper userMapper; @..._mybatis id全局唯一值
文章浏览阅读3.8k次。命令:grep -rl test | xargs sed -i ‘s/test/123456/g’报错:sed: can’t read test_file : No such file or directory原因:一开始以为自己的命令用错了,修改成sed -i ‘s/test/123456/g’`grep -rl test 依然不行。经过不断尝试,发现在centos6.9上不行。切换到centos7.6上就行了。有大佬知道这是为什么吗?cat /etc/redhat-release _windows bash sed: can't read : no such file or directory
文章浏览阅读148次。和一个屏蔽字符串“ux”,那么“78”可以组成多个字符串例如:“ux”,“uw”,“vx”,“vw”,过滤这些完全包含屏蔽字符串的每一个字符的字符串,然后输出剩下的字符串。例如7关联"u","v",8关联"x","w",输入一个字符串例如“78”,0 关联 "a","b","c"1 关联 "d","e","f"2 关联 "g","h","i"3 关联 "j","k","l"4 关联 "m","n","o"5 关联 "p","q","r"7 关联 "u","v"8 关联 "w","x"
文章浏览阅读807次,点赞19次,收藏19次。本设计是基于STC89C52单片机和ADC0832的GSM远程浇花系统。本设计的电路内部包含湿度采集和AD转换等主要功能以及GSM收发短信功能。远程浇水系统设计的浇水部分是通过单片机程序设计浇水的上下限值与感应电路送入单片机的土壤湿度值相比较,当低于下限值时,单片机控制GSM模块发送缺水短信,用户收到短信后回复浇水,单片机收到回复的短信后输出一个信号控制浇水,高于上限值时再由单片机输出一个信号控制停止浇水,并回复短信浇水完成到用户手机上。这样可以帮助人们及时地给心爱的盆花浇水。STC89C52;
文章浏览阅读318次。1. 功能简介 HDF 是美国国家高级计算应用中心(National Center for Supercomputing Application)为了满足各种领域研究需求而研制的一种能高效存储和分发科学数据的新型数据格式。 NC是NetCDF的简称,其全称为Network Common Data Form(网络通用数据格式),其是针对科学数据的特点开发的,是一种面向数组型..._hdf文件可以用sdk打开吗
文章浏览阅读251次。原因在于:Window-->Preferences-->Android-->Build中“Skippackaginganddexinguntilexportorlaunck”选项默认是勾上的,因此去掉该选项就OK了解决:1,首先把以上的那个选项去掉2,点击Project中的Clean选项,重新..._在ubuntu使用buildozer打包到一半失败,最终在bin里面没有生成apk
文章浏览阅读2.5w次,点赞10次,收藏97次。-FM4550国产化开发板功能接口-- 系统框图-01- 产品参数-1.主要参数系统1: FPGA型号:FMQL45T900 PS内核:四核ARM Cortex-A7,主频800MHz PS端内存:1GB DDR3,数据速率1066Mbps,32bit PL端内存:1GB DDR3,数据速率1600Mbps,32bit GTX收发器:16X 速度等级:对标进口-2 ..._fmql45t900
文章浏览阅读489次。这是一台困难靶机,靶机内容主要考察了web漏洞利用,逆向,权限维持,提权等各个方面的内容,这个靶机非常适合入门逆向,并且对提升渗透思维帮助很大,我从中也获益良多。_padbuster
文章浏览阅读960次,点赞17次,收藏16次。这篇文章主要介绍了python简单编程小游戏,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。哈喽铁子们。_python编程小游戏
文章浏览阅读735次。在操作学生管理系统时,想实现一个效果就是 清屏,试了好几种都不满意,终于让我找到一个合适的printf("\033c");这个可以 效果杠杠的_lvgl清屏
这段代码似乎在尝试让用户输入两个整数,然后判断并输出这两个数之间的奇数。文章内容杂乱无章,难以理解。
文章浏览阅读1.1k次。该文章仅为个人踩坑记录,如有代码错误请提出,本人将积极改正。_vue-router动态添加路由 找不到文件