相关疑难解决方法(0)

使用sc.textFile以递归方式从子目录中获取文件内容

似乎SparkContext textFile只希望文件存在于给定的目录位置 - 它也不存在

  • (a)递归或
  • (b)甚至支持目录(尝试将目录读取为文件)

任何建议如何构造递归 - 可能比手动创建递归文件列表/下降逻辑更简单?

这是用例:文件下

/数据/表/ MY_TABLE

我希望能够通过hdfs调用读取该父目录下所有目录级别的所有文件.

UPDATE

sc.textFile()通过(子类)TextInputFormat调用Hadoop FileInputFormat.在逻辑内部存在执行递归目录读取 - 即首先检测条目是否是目录,如果是,则降序:

<!-- language: java -->
     for (FileStatus globStat: matches) {
218          if (globStat.isDir()) {
219            for(FileStatus stat: fs.listStatus(globStat.getPath(),
220                inputFilter)) {
221              result.add(stat);
222            }          
223          } else {
224            result.add(globStat);
225          }
226        }
Run Code Online (Sandbox Code Playgroud)

但是,在调用sc.textFile时,目录条目上存在错误:"not a file".这种行为令人困惑 - 因为似乎有适当的支持来处理目录.

java apache-spark

19
推荐指数
1
解决办法
2万
查看次数

在Shuffle中Spark节点如何通信?

我从这个问题中看到Spark节点有效地"直接通信",但我不太关心理论,而是更多关注实现.这里显示,在页面底部附近的"### Encryption"部分中,您可以将Spark配置为使用多个SSL协议来保证安全性,这至少对我来说,它建议使用某种形式的用于通信的HTTP.我的问题实际上有两个部分:Spark节点使用什么协议进行通信,以及为此传输格式化的数据如何?

apache-spark

6
推荐指数
1
解决办法
792
查看次数

标签 统计

apache-spark ×2

java ×1