Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在AWS EMR上的zip文件中提交支持pyspark的sql文件_Python_Apache Spark_Pyspark_Pyspark Sql_Amazon Emr - Fatal编程技术网

Python 在AWS EMR上的zip文件中提交支持pyspark的sql文件

Python 在AWS EMR上的zip文件中提交支持pyspark的sql文件,python,apache-spark,pyspark,pyspark-sql,amazon-emr,Python,Apache Spark,Pyspark,Pyspark Sql,Amazon Emr,我希望在AmazonEMR上的pyspark应用程序中引用S3上另存为.zip的非python文件(例如SQL、config、txt)。我尝试了--py文件,但这只适用于我的python文件。我仍然无法在AmazonEMR中使用S3中的压缩SQL/config文件。有人对此有任何解决方案吗?您要查找的标志--归档文件。基本上,您给它一个zip文件,它将把它解压缩到每个纱线容器正在执行的目录中。您应该能够使用脚本中的相对路径访问它们 您还可以通过在末尾添加{name}来控制zip解压缩到的文件夹的

我希望在AmazonEMR上的pyspark应用程序中引用S3上另存为.zip的非python文件(例如SQL、config、txt)。我尝试了--py文件,但这只适用于我的python文件。我仍然无法在AmazonEMR中使用S3中的压缩SQL/config文件。有人对此有任何解决方案吗?

您要查找的标志
--归档文件
。基本上,您给它一个zip文件,它将把它解压缩到每个纱线容器正在执行的目录中。您应该能够使用脚本中的相对路径访问它们

您还可以通过在末尾添加
{name}
来控制zip解压缩到的文件夹的名称。例如,
——归档s3://aaa/some.zip文件
。Spark在这里只是顺便提到这一点:


需要注意的一点是,如果您使用
--deploy mode client
运行您的驱动程序,那么您的驱动程序没有运行纱线容器,因此将无法访问文件。您将改为使用
--deploy mode cluster

谢谢!我看到正在使用--archives将.zip文件添加到集群上。我仍然无法找到这些文件所在的相对路径。如果我使用的是这个代码sc.textFile(“sql.zip/some_sql.sql”),那么这里合适的路径是什么。再次感谢。如果要使用
sc.textFile
加载,请将它们保留在S3上,然后从那里加载--如果希望使用python方法(如
open
)加载,则归档非常有用。但是,如果对您的用例有效,您最好使用标准的spark方法读取方法和广播。@RyanWidmaier可以将此解决方案应用于此SF,也许,我将在那里进行评论。