我正在尝试使用Hadoop FileInputFormat来读取PySpark中的内容。我正在使用Jupyter和PySpark-Kernel,但是直接使用pyspark shell时也会发生错误。
我正在尝试使用这样的自定义输入格式读取某个文件:
data = sc.newAPIHadoopFile("hdfs://somewhere/*.foo", "com.example.FooInputFormat", "com.example.FooKeyClass", "com.example.FooValueClass")
根据我的理解,提交这些代码应该不做任何事情,因为在Spark中一切都很懒,所以我希望不会得到任何输出。
但是,这会立即实现,Spark会尝试在其上运行take()
。 newAPIHadoopFile
对PySpark不是很懒惰吗?如何实现懒惰阅读?