amazon-web-services - 与 VS Code Notebooks 配合使用的 Python 和 Spark 版本
问题描述
我正在为 AWS Glue 开发脚本,并尝试在此处模仿开发环境尽可能接近他们的规格。由于运行 Notebook 服务器/开发端点的成本有点高,因此我将所有内容都设置在本地计算机上,并在 VS Code Notebook 上开发脚本,因为它很有用。
由于安装的 Python 和 Spark 之间的版本不兼容,Notebook 设置存在一些问题。
- 对于Python,我经历了一段艰难的时间来清理,现在它的版本是3.8.3
- 对于 Spark,我在 2.4.3 版本中使用手动方法,因为我计划稍后同时使用 Scala。我安装
findspark
包以按预期加载该版本。
而且它不起作用!错误是TypeError: an integer is required (got type bytes)
我四处搜索,人们说使用 降级到 Python 3.7 pyenv
,我安装了 3.7.7 但仍然有同样的错误
作为最后的手段,我尝试了pip install pyspark
. 它是 Spark 3.0.0,工作正常,但不如预期。
希望有人有这方面的经验
解决方案
更好的方法是在 docker 上安装胶水依赖项,然后使用 VS 代码 ssh 到该 docker 容器中,以模仿精确的胶水本地开发环境。
如果您想参考,我已经写了一个相同的博客
https://towardsdatascience.com/develop-glue-jobs-locally-using-docker-containers-bffc9d95bd1
推荐阅读
- laravel - How to set custom header in elibyy/tcpdf-laravel
- javascript - JavaScript 和 JQuery 代码如何从 MVC 视图移动到 Visual Studio 2017 的外部 .js 文件?
- javascript - jQuery(文档).ready(函数(){}); 不能正常工作
- react-native - 如何在自定义 cra 中为 babel loader 添加选项?
- r - 在 r 中更新 dplyr 包时遇到问题
- rust - 指定特征边界时如何指定临时生命周期?
- scala - Sql 领先,滞后,第一个值,最后一个值,在普通 Scala 中的无界进程和窗口子句之间的行(没有火花)
- c++ - C++ reference_wrapper 向量填充了错误的值
- c# - 如何从文本框中删除重复的行结果
- extjs - ExtJs 树面板,来自 Json API 的树存储