纠纷奇闻作文社交美文家庭
聚热点
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

notebook远程访问pyspark集群,算法工具神器重磅

2月14日 观潮阁投稿
  notebook远程访问pyspark集群,算法工具神器重磅推荐
  书接上文,前段时间图算法十篇之图机器学习系列文章总结系列文章中,我们对图算法有了深入浅出的了解,接下来打算开始更新一系列使用tensorflow1。x2。x动手实现各种经典模型的文章,专门面向小白和经验不那么多的同学,大家可以一起熟悉下整个流程哦
  俗话说的好啊,工欲善其事,必先利其器,本文要推荐的这款工具,可以说是算法工程师的神器工具:远程notebook跑集群版pyspark。如上文所说,这个工具的特点就是pyspark和notebook相结合,然后远程访问。当然,有同学用了pyhive和notebook结合也可以访问集群,但是pyhive功能简单,只能查找数据转成本地pandas,数据大一点就崩溃,还不能灵活进行进行分析。这pyhive相对于pyspark的数据分析能力与数据整合能力简直差了十万八千里。这个工具绝对原创,当时找遍全网也没找到解决办法,自己进行多次尝试终于获得成功,谁用谁知道,强烈推荐!!!
  才开始调研这个工具的时候问题主要是卡在安装好的notebook没办法和公司集群进行通信,那样实现的就是单机版的pyspark,毫无意义。本文介绍的这个工具能在mac上用spark解决问题,且能将数据在集群和单机之间进行交互,既能调用集群资源又能使用指定机器的单机资源,集群和模型数据完全打通,别提多爽了!!!
  本工具适用的背景就是:我们可以在自己的电脑上,通过web连接远程公司服务器上的notebook(当然需要vpn),本质是将远程的某台可以访问公司集群的机器作为driver,使用notebook调用公司的pyspark集群环境进行数据分析、spark模型分布式训练、拉取数据到本地用单机的tensorflow跑模型等。最重要的一点是:支持pyspark和本机单机python程序的实时回显(ReadEvalPrintLoop,REPL),数据模型一手抓,集群单机灵活切换,妥妥的算法工作神器!!!
  书接上文,本文原创工具的核心思想就一句话:我们不是在notebook上集成pyspark环境,而是用将pyspark用notebook来显示,并且允许远程访问web访问。
  闲言少叙,开始本文的工具介绍吧(1)工具配置流程
  如上所述,本工具的核心思想就是:将pyspark用notebook来显示,并且允许远程Web访问。
  拆解开来,中间涵盖三个步骤:(1)notebook安装与设置。(2)允许notebook远程访问。(3)pyspark用notebook显示。下面我们分别从这三个步骤来介绍吧!(1。1)notebook安装与插件设置
  我们可以使用pip安装notebook:pip3installjupyter。而如果是使用conda安装的话,则是:condainstalljupyternotebook。
  notebook的安装非常容易,这里我们不在多说什么,这里介绍一下notebook的插件工具jupytercontribnbextension吧,可以用它添加侧边导航栏、程序执行时间显示、耗时显示、任务进度显示、自动代码补全等功能,感兴趣的可以自己下去调研下,非常好用哦
  对于拓展插件,我们可以使用命令:欢迎关注作者公众号算法全栈之路pipinstalljupytercontribnbextensionsjupytercontribnbextensioninstalluser
  进行安装,安装完成后重启Jupyter,就会发现在jupyter网址首页上面新增了Nbextensions的tab栏,如下图所示:
  我们需要先设置插件工具可用,直接勾选即可。然后假如要添加notebook的侧边栏的话,直接勾选TableofContents(2)即可,其他插件操作同理,页面如下图所示:
  notebook这个工具,熟悉python开发的同学大多都用过,我就不在赘述了。(1。2)允许notebook远程访问
  在这里,我们使用jupyternotebook原生自带的远程访问功能,方便我们将notebook安装在公司可以访问集群的机器上,然后在自己的mac上访问调用spark集群资源。
  第一步:生成默认配置文件欢迎关注作者公众号算法全栈之路jupyternotebookgenerateconfig。jupyterjupyternotebookconfig。py
  第二步:生成访问密码(token)
  终端输入ipython,设置你自己的jupyter访问密码,注意复制输出的sha1:xxxxxxxx密码串欢迎关注作者公众号算法全栈之路ipython中输入以下命令fromnotebook。authimportpasswdpasswd()分别输入密码2次Enterpassword:Verifypassword:
  记得复制返回的字符串,下面一步用。
  第三步:修改。jupyterjupyternotebookconfig。py配置文件
  修改配置文件中对应行如下欢迎关注作者公众号算法全栈之路c。NotebookApp。ipc。NotebookApp。passwordusha:ce。。。刚才复制的那个密文c。NotebookApp。openbrowserFalsec。NotebookApp。port8080可自行指定一个端口,访问时使用该端口
  第四步:在服务器上启动jupyternotebook,然后在远程输入密码访问
  notebook启动命令:jupyternotebook
  最后在自己mac上浏览器里输入:http:ip:8080即可。这里的ip是你公司可以访问集群的那台服务器的ip,可能需要vpn,根据你实际情况而定。
  到这里,你的服务端notebook已经安装好了,并且可以远程在自己mac上访问了。(1。3)pyspark用notebook显示
  大家都知道,我们在公司里使用spark,无论是sparksubmit还是pyspark命令的二进制文件,均是在spark安装包的bin目录里。通常情况下,我们肯定是可以在服务器上执行sparksubmit或者pyspark命令的,这样就保证了我们spark环境和集群肯定是通着的(如果不能,需要先将pyspark在服务器上本地调通可用)。
  而我们也知道,执行pyspark命令之后,默认打开的是ipythonREPL终端。说到这里就明白了吧,我们只要替换ipython成我们刚才已经设定好的允许访问公司服务器的notebook来显示即可!!!而无需再去自己花功夫将notebook和spark集群通信进行适配,简直perfect!!!
  而替换pyspark终端显示,仅仅只需要下面这条命令:欢迎关注作者公众号算法全栈之路PYSPARKPYTHONpython3。7PYSPARKDRIVERPYTHONpython3。7PYSPARKDRIVERPYTHONOPTShomeminiconda3envspysparkenvbinjupyternotebooknobrowserport8080profilesfhzgohomebigdataenvsparkbinpysparksparkversion2。4。5stagingqueueadqueuenamemasteryarndeploymodeclientdrivermemory80gdrivercores2executormemory8gexecutorcores2numexecutors30confspark。sql。catalogImplementationhiveconfspark。yarn。priorityVERYHIGHconfspark。driver。maxResultSize200G
  命令比较长,中间的代码非常好理解,注意替换你自己机器上的配置路径。
  其中:PYSPARKPYTHON和PYSPARKDRIVERPYTHON是你服务器上可以使用pyspark的时候的python版本,而PYSPARKDRIVERPYTHONOPTS则是设定你用自己的notebook替换pyspark机器ipython终端显示的过程,最后面的代码则是常规的启动pyspark的过程了。
  如果在最后这里没办法启动成功,首先可以检查下你公司服务器上的pyspark在服务器机器上是否可以完美运行,大概率出问题也是出自这里。毕竟很多人用spark仅仅用sparksubmit提交scalajavapython版本的spark任务,而没有尝试过用pyspark这个二进制命令行。
  其中,你们自己公司pyspark支持的python版本和你服务器上python版本是否对齐兼容,也是有隐藏的坑在里面。多花点儿时间把工具和环境调通吧,回报是非常值得的
  最后,工具搭建成功了,使用起来长这个样子:
  一般来说,我们可以使用下面的代码得到界面上的spark实例对象:欢迎关注作者公众号算法全栈之路importosimportsysimportfindsparkfindspark。init()importos。pathaspathimportimportlibfrompysparkimportStorageLevelfrompyspark。sqlimportSparkSessionfrompyspark。sql。typesimportfrompy4j。protocolimportPy4JJavaErrorfrompyspark。sqlimportfunctionsasfunfrompyspark。sql。functionsimportcolfrompyspark。sqlimportHiveContextfrompyspark。sql。functionsimportfrompyspark。sql。functionsimportlitimportwarningswarnings。filterwarnings(ignore)sparkconfigsetupsparkSparkSession。builder。appName(pysparkapp)。config(spark。submit。deployMode,client)。config(spark。yarn。queue,idmprod)。config(fs。defaultFS,hdfs:warehousestore)。config(spark。kryoserializer。buffer。max,1024m)。config(spark。serializer,org。apache。spark。serializer。KryoSerializer)。config(hive。exec。dynamic。partition。mode,nonstrict)。enableHiveSupport()。getOrCreate()scspark。sparkContextsc。setLogLevel(ERROR)print(driverpythonpath:str(os。environ。get(PYSPARKDRIVERPYTHON)))print(workerpythonpath:str(os。environ。get(PYSPARKPYTHON)))
  最后我们可以在自己的mac笔记本上使用pyspark连接公司的集群进行数据分析与数据拉取操作,例如我们可以使用spark。sql()方法读取hive表,或则读取hdfs上parquet文件,就像下面这样:
  我们也可以将sparkdataframe数据拉取到服务器driver上,进行单机版的数据分析与模型训练。其中sparkdataframe可以转化为pandasdataframe,我们可以使用下面的语句来进行转化:
  pandaspdfsparkdf。toPandas()
  有了单机版的pandasdataframe,那通常python能干的,我们都可以干。
  当然,我们也可以将python的dataframe转成spark的dataframe,使用下面的语句即可:欢迎关注作者公众号算法全栈之路pdfvaluespandaspdf。values。tolist()pdfcolumnspandaspdf。columns。tolist()selectedfeasresultdfspark。createDataFrame(pdfvalues,pdfcolumns)。persist(StorageLevel。MEMORYANDDISK)
  按照流程设置完成,则集群数据和单机模型链路完全打通。so,广阔天地,大有作为吧
  到这里,notebook远程访问pyspark集群,算法工具神器重磅推荐的全文就写完了。这个工具对于算法工程师的算法实验和工作成果演示都是非常有意义的,可视化everything,希望可以对你有参考作用
  码字不易,觉得有收获就动动小手转载一下吧,你的支持是我写下去的最大动力
  更多更全更新内容:算法全栈之路
  END
投诉 评论 转载

36天的泰国酒店隔离生活,开启我的自媒体之路我是在海外工作的一名普通中国人,工作的地点在遥远的非洲。我这次是2022年4月4日从非洲坐飞机开始回国的,由于疫情的不断爆发、中国的新冠形势及政策等原因,导致我回国需要在泰国转……卤味品牌火号获奥牛资本数千万元A轮融资新京报讯(记者王子扬)10月12日,新京报记者了解到,卤味品牌火号完成数千万元A轮融资,投资方为奥牛资本,青桐资本担任长期独家财务顾问。本轮融资将主要用于产品研发、品牌建设、供……胃糜烂能治好吗?来源:重庆日报网胃糜烂又称为胃溃疡,是一种常见的消化道疾病。胃糜烂是能治愈的,但容易复发,如果不节制饮食可能会经常出现胃糜烂。重庆东大肛肠医院专家表示,如果是幽门螺……红色武林当真太极拳不能实战,可能那并非当年的太极功夫看到赛场上的大师屡屡败北,看到拳友那软绵绵的动作,再检验一下自己太极拳的威力,好多人便得出相同的结论:太极拳不能用于实战!然而,看似正确的观点,却可能是错误的。因为,我们看到的……人生意义我今天骑自行车跑了29公里多,我在思考人生。我觉得自己太难了,生活太累了!!!!每迈出一步都是艰巨的!!!!但是我不能倒下!!!我必须站好站稳!!!我在不断的鼓励自己!!!……新车比亚迪亲兄弟登场,创维HTi新款EV6开启预售文:懂车帝原创曹浩〔懂车帝原创产品〕日前,创维HTi和新款EV6正式发布发布,并公布预售价。其中创维HTi的预售价区间为14。9818。98万元,新款EV6预售价格区间为……杀出重围我们是冠军独狼难以猎杀目标,群狼才好围攻对手!穆里尼奥用了一年的时间对罗马队前场、中场、后场三条战线进行整合、教化,已树立起必胜的信心和钢铁般冲锋陷阵的意志和雄心,再加上今年夏窗球员的吐……龋齿高发,如何打赢护牙保卫战儿童龋齿是很常见的儿童口腔疾病,导致儿童龋齿高发的主要原因是:首先乳牙及年轻恒牙窝沟点隙较深,容易残留食物残渣,且儿童大多偏爱甜食,加上儿童口腔清洁能力较差,都会导致龋齿发病的……黄果树瀑布黄果树瀑布的三个景点:陡坡塘、天星桥和大瀑布。我唯独喜欢大瀑布。穿过景区入口大门,是景区盆景园林区,此处盆景种类繁多,大小不一。但都是些在普通公园和家庭院落司空见惯之物,索然无……notebook远程访问pyspark集群,算法工具神器重磅notebook远程访问pyspark集群,算法工具神器重磅推荐书接上文,前段时间图算法十篇之图机器学习系列文章总结系列文章中,我们对图算法有了深入浅出的了解,接下来打算……全国人大代表金鹏辉提升央企国企跨境结算中使用人民币的比例新华社客户端上海3月11日电(记者桑彤)全国人大代表、中国人民银行上海总部副主任、上海分行行长金鹏辉在今年的全国两会上,提出关于提升央企、国企在跨境贸易和投资中使用人民币结算比……陈小春应采儿带大儿子出游,一家三口全程超欢乐,Jasper长1月25日,有不少网友晒出偶遇陈小春应采儿带着大儿子Jasper现身环球影城打卡的照片,一家三口全程超欢乐。8岁的Jasper长高不少,看起来帅气十足。Jasper表现格外兴奋……
世界防治肥胖日丨今天,解剖一个胖子的内脏给你看华为畅享60X手机官宣7000mAh超大电池50MP圆盘双摄外国人不坐月子,为何身体照样很好?提醒一句,别让老规矩害了西甲0埃尔切落后榜首巴萨8分一级致癌物石棉,潜伏期可达数十年,你用过的这些物品可能都有使用抗精神病药后,大脑会发生哪些变化?温故知新明日立夏,多吃两果,做好三防,记住三件事,健康过盛夏第五人格怎么给鹤翁盛水观澜亭鲁中通道高铁建设青岛至京沪高铁辅助通道年内开工帮助子女带孩子不该过度参与养育女孩,你应该知道的教育观点实拍武汉恒隆广场,就在著名的武广对面,竟然比武广还高档?
冬季穿衣要讲究带给女人随意的美丽初三日记三年爆笑家长孩子们可崩溃啦国乒内部排名调整!刘诗雯从一姐降为老四,林高远大退步主力难保太阳鱼是冷水鱼吗?数学教育教学论文精选四月钓鲫鱼钓多深,用什么饵料房屋常识产权变更和过户的区别郭德纲经典语录精选七古代最轻刑罚墨刑,在犯人脸上刻字染墨作为标志(侮辱)5岁孩子简历走红想低调却意外走红,震撼了不少网友天赋异禀(我阅人无数,没有一个成功者天赋异禀)热议聚热点网

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形