【问题标题】:Console Input for pysparkpyspark 的控制台输入
【发布时间】:2018-03-23 11:40:31
【问题描述】:

Pyspark 中是否有一个 input() 函数,我可以通过它获取控制台输入。 如果是,请您详细说明一下。

如何在 PySpark 中编写以下代码:

directory_change = input("Do you want to change your working directory ? (Y/N)")
sc.input("Do you want to change your working directory ? (Y/N)")
a = directory_change.upper()
if a == "Y" or a == "YES" :
        directory = input("Enter your working directory")
        directory = directory.replace("\\","/")
        os.chdir(directory)

`

【问题讨论】:

    标签: pyspark bigdata


    【解决方案1】:

    这样不行。

    为了达到同样的效果,您可以尝试在提交任务时使用application-arguments 为脚本提供参数。参考文献the doc on spark-submit

    【讨论】:

    • 你能详细说明它是如何实现的吗? spark submit 上的文档没有提供有关提交输入的任何信息。都是标准的用户定义
    • 您不能“提交输入”,但您可以通过--application-arguments 为您的脚本提供参数并在sys.argv 中找到它们
    • 为什么不呢?在某些情况下,这绝对是合法的。在scala spark中是可行的。在纯python中也是如此。但不知何故在 pyspark input() 函数中行为不端
    • 因为 spark 应用程序/脚本是在你没有打开 tty 的工作实例上执行的。您可以创建一个包装 python 脚本来获取输入,然后启动 spark 脚本——但在这种情况下,您只是从 python 执行input
    猜你喜欢
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2016-02-24
    相关资源
    最近更新 更多