- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
例如,当我在 Spark Shell 中使用 PySpark 时,我可能会使用以下命令将文件加载到 spark 上下文中:
readme = sc.textFile("/home/data/README.md")
然后我可以像下面这样对这个 RDD(?) 执行操作来计算文件中的行数:
readme.count()
但是我想知道的是,我如何才能获得已加载到 sc
中的所有 sc.textFile(s)
的列表(spark 上下文)?
例如,下面有一些命令可以获取所有配置,但它没有列出我加载的所有文本文件。
sc._conf.getAll()
有什么方法可以找到所有已加载到 spark 上下文中的文本文件吗?列表?
最佳答案
SparkContext.textFile 不在 Spark 上下文中存储任何内容。看看 sources
/**
* Read a text file from HDFS, a local file system (available on all nodes), or any
* Hadoop-supported file system URI, and return it as an RDD of Strings.
* The text files must be encoded as UTF-8.
*
您始终可以缓存 RDD,以便将它们保存在内存中。这post解释缓存机制。
如果你想跟踪你的 spark 作业中的文件,spark-submit 提供了 --files
标志来将文件上传到执行目录。如果您有不会更改的小文件。
如果您添加外部文件,spark-submit 会提供--files
标志
spark-submit --files
您的文件将上传到此 HDFS 文件夹:hdfs://your-cluster/user/your-user/.sparkStaging/application_1449220589084_0508
application_1449220589084_0508 是 yarn 应用程序 ID 的示例!
在您的 spark 应用程序中,您可以通过两种方式找到您的文件:
1- 通过下面的代码找到 spark 暂存目录:(但你需要有 hdfs uri 和你的用户名)
System.getenv("SPARK_YARN_STAGING_DIR");
.sparkStaging/application_1449220589084_0508
2- 使用以下命令找到完整的逗号分隔文件路径:
System.getenv("SPARK_YARN_CACHE_FILES");
hdfs://yourcluster/user/hdfs/.sparkStaging/application_1449220589084_0508/spark-assembly-1.4.1.2.3.2.0-2950-hadoop2.7.1.2.3.2.0-2950.jar#spark.jar,hdfs://yourcluster/user/hdfs/.sparkStaging/application_1449220589084_0508/your-spark-job.jar#app.jar,hdfs://yourcluster/user/hdfs/.sparkStaging/application_1449220589084_0508/test_file.txt#test_file.txt
关于python - 如何找到当前 spark 上下文中加载的所有文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56202121/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!