Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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
Apache spark 如何在spark中将二进制文件转换为rdd?_Apache Spark_Rdd - Fatal编程技术网

Apache spark 如何在spark中将二进制文件转换为rdd?

Apache spark 如何在spark中将二进制文件转换为rdd?,apache-spark,rdd,Apache Spark,Rdd,我正在尝试将seg-Y类型的文件加载到spark中,并将它们传输到rdd中以进行mapreduce操作。 但我没能把它们转移到rdd。有谁能提供帮助吗?您并没有给出太多细节,但可以从使用SparkContextbinaryFiles()API开始 您可以使用binaryRecords()pySpark调用将二进制文件的内容转换为RDD 二进制记录(路径、记录长度) 从数据库加载数据 平面二进制文件,假设每个记录是一组带有 指定的数字格式(请参见ByteBuffer)和字节数 每个记录都是常量

我正在尝试将seg-Y类型的文件加载到spark中,并将它们传输到rdd中以进行mapreduce操作。
但我没能把它们转移到rdd。有谁能提供帮助吗?

您并没有给出太多细节,但可以从使用SparkContextbinaryFiles()API开始


您可以使用binaryRecords()pySpark调用将二进制文件的内容转换为RDD

二进制记录(路径、记录长度)

从数据库加载数据 平面二进制文件,假设每个记录是一组带有 指定的数字格式(请参见ByteBuffer)和字节数 每个记录都是常量

参数:路径–输入数据文件的目录记录长度- 拆分记录的长度

然后,您可以使用struct.unpack()将该RDD映射到一个结构中

我们使用这种方法来摄取安抚固定宽度记录二进制文件。有一些Python代码生成格式字符串(struct.unpack的第一个参数),但是如果文件布局是静态的,那么手动一次就相当简单了

同样,也可以使用纯Scala: