【问题标题】:Jupyter + PySpark autocompleteJupyter + PySpark 自动完成
【发布时间】:2019-01-23 21:00:55
【问题描述】:

抱歉新手 Jupyter 问题 -

我已经使用本手册安装了 Jupyter 和 PySpark - https://blog.sicara.com/get-started-pyspark-jupyter-guide-tutorial-ae2fe84f594f

似乎一切正常,但我没有自动完成某些“嵌套”功能

例如 - 运行“spark” -> 我得到 spark 会话

当我在“spark”之后按 Tab 键时。 -> 我得到了可能的建议列表,例如“阅读”

但在 spark.read 之后按 Tab。不显示任何东西。虽然我希望显示诸如“csv”、“parquat”等选项......

重要提示 - 运行 "spark.read.csv("1.txt")" 有效

另外 - 尝试应用来自 `ipython` tab autocomplete does not work on imported module 的建议,但没有成功

我错过了什么?

【问题讨论】:

  • 原因可能比较平淡;我想 spark 很重,因此解析依赖项需要很多时间。如果返回的建议数量太大(或花费太多时间),该进程可能会被终止,您可能需要检查一下。
  • 感谢您的建议!我怎样才能检查这个?顺便说一句 - 当我运行 a=spark.read 时。然后运行一个。 我得到了我希望得到的所有建议
  • 您可以观察资源使用情况并让进程负责完成,我假设在解析库期间 CPU 使用率会飙升。您在上面写的内容可能表明情况确实如此,也许其他人将能够进一步指出问题。

标签: python pyspark jupyter-notebook ipython jupyter


【解决方案1】:

我开发了一个基于 TabNine 的 Jupyter Notebook Extension,它提供了基于深度学习的代码自动完成功能。当然它也支持Pyspark。这是我工作的 Github 链接:jupyter-tabnine

现在在pypi index 上可用。只需发出以下命令,然后享受它:)

pip3 install jupyter-tabnine
jupyter nbextension install --py jupyter_tabnine
jupyter nbextension enable --py jupyter_tabnine
jupyter serverextension enable --py jupyter_tabnine

【讨论】:

    【解决方案2】:

    这可以通过手动导入或设置 python 的 .env 变量来完成。

    1. 在 python 会话/笔记本中。
    import rlcompleter, readline
    readline.parse_and_bind("tab: complete")
    
    1. 在 PySpark 启动时启用它 - 我的情况。

    .bash_profile

    export PYTHONSTARTUP="$HOME/.pythonrc"
    

    .pythonrc

    import rlcompleter, readline
    readline.parse_and_bind("tab: complete")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-07
      • 2023-03-31
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 2017-03-25
      • 2021-02-17
      相关资源
      最近更新 更多