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
在spark中,RDD、Dataframe和Dataset中哪一个更适合进行avro列式操作?_Dataframe_Apache Spark_Apache Spark Sql_Rdd_Apache Spark Dataset - Fatal编程技术网

在spark中,RDD、Dataframe和Dataset中哪一个更适合进行avro列式操作?

在spark中,RDD、Dataframe和Dataset中哪一个更适合进行avro列式操作?,dataframe,apache-spark,apache-spark-sql,rdd,apache-spark-dataset,Dataframe,Apache Spark,Apache Spark Sql,Rdd,Apache Spark Dataset,我们有一个用例,需要对avro数据集进行一些列式转换。我们过去一直经营乔布斯先生,现在想探索星火。我正在学习一些教程,不确定是应该使用RDD还是Dataframe/Dataset。因为数据帧是以列形式存储的,所以使用数据帧是否是正确的选择,因为我的所有转换本质上都是列形式的?或者,由于内部所有内容都基于RDD,所以它没有太大区别吗 在回答您的问题时,我遇到了三种数据结构之间的冲突 每个特定情况下的答案取决于转换的性质,而不是特定的序列化格式。一般来说,使用高级API会带来更多的便利,但低级API

我们有一个用例,需要对avro数据集进行一些列式转换。我们过去一直经营乔布斯先生,现在想探索星火。我正在学习一些教程,不确定是应该使用RDD还是Dataframe/Dataset。因为数据帧是以列形式存储的,所以使用数据帧是否是正确的选择,因为我的所有转换本质上都是列形式的?或者,由于内部所有内容都基于RDD,所以它没有太大区别吗

在回答您的问题时,我遇到了三种数据结构之间的冲突


每个特定情况下的答案取决于转换的性质,而不是特定的序列化格式。一般来说,使用高级API会带来更多的便利,但低级API(RDD)会带来更多的灵活性和控制。

从性能角度来看,您的数据格式不会对用于描述转换的API产生任何影响

我建议尽可能使用最高级的API(DataFrames),并且只有在某些操作无法以任何其他方式实现时才切换到RDD