spark 中 rdd to dataframe 问题
2017-03-02 13:54
507 查看
在spark streaming 过程中遇到数据不对的地方,最有check 到时我们RDD到dataframe 出现了问题
rowRdd = rdd.flatMap(build_data_row)
statsRdd = rowRdd.map(map_to_id)
dfstats = sqlContext.createDataFrame(statsRdd, schema=docShema)
上面的程序中map_to_id 这个function 尽管return Row(.......) 但是在sqlContext.createDataFrame 中出现数据跟预期的不一样的情况
最后从spark 的文档发现, RDD ==> DataFrame 中要指定schema, 或者sampleRatio 的, 如果没有指定的话,可能出现数据的错乱
尤其是在table 字段很多的情况下.
PS:
data – an RDD of Row/tuple/list/dict, list, or pandas.DataFrame
schema – a StructType or list of names of columns
samplingRatio – the sample ratio of rows used for inferring
rowRdd = rdd.flatMap(build_data_row)
statsRdd = rowRdd.map(map_to_id)
dfstats = sqlContext.createDataFrame(statsRdd, schema=docShema)
上面的程序中map_to_id 这个function 尽管return Row(.......) 但是在sqlContext.createDataFrame 中出现数据跟预期的不一样的情况
最后从spark 的文档发现, RDD ==> DataFrame 中要指定schema, 或者sampleRatio 的, 如果没有指定的话,可能出现数据的错乱
尤其是在table 字段很多的情况下.
PS:
data – an RDD of Row/tuple/list/dict, list, or pandas.DataFrame
schema – a StructType or list of names of columns
samplingRatio – the sample ratio of rows used for inferring
相关文章推荐
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset.问题的分析与解决
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset.问题的分析与解决
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset.问题的分析与解决
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset问题的分析与解决
- spark convert RDD[Map] to DataFrame
- Spark DataFrame简述和遇到的问题
- Spark RDD(DataFrame) 写入到HIVE的代码实现
- spark: RDD与DataFrame之间的相互转换
- [2.2]Spark DataFrame操作(二)之通过反射实现RDD与DataFrame的转换
- Apache Spark 2.0三种API的传说:RDD、DataFrame和Dataset
- Spark RDD、DataFrame和DataSet的区别
- SparkSQL操作RDD转DataFrame
- Spark RDD、DataFrame和DataSet的区别
- Spark 之DataFrame与RDD 转换
- spark2.0系列《一》—— RDD VS. DataFrame VS. DataSet
- From Pandas to Apache Spark’s Dataframe
- spark-DataFrame之RDD和DataFrame之间的转换
- SPARK 使用Java 在IDE中实战RDD和DataFrame动态转换操作
- Spark:DataFrame 与 RDD
- dataframe save to CSV file, 中文问题