zoukankan      html  css  js  c++  java
  • Spark中将RDD转换成DataFrame的两种方法

    总结下Spark中将RDD转换成DataFrame的两种方法, 代码如下:

    • 方法一: 使用createDataFrame方法
      //StructType and convert RDD to DataFrame  
      
      val schema = StructType(  
        Seq(  
          StructField("name",StringType,true)            
          ,StructField("age",IntegerType,true)  
        )  
      ) 
       
      val rowRDD = sparkSession.sparkContext  
        .textFile("/tmp/people.txt",2) 
        .map( x => x.split(",")).map( x => Row(x(0),x(1).trim().toInt))    
      sparkSession.createDataFrame(rowRDD,schema)  
      }  
      
      }  
      
    • 方法二: 使用toDF方法
      //use case class Person  
      case class Person(name:String,age:Int)  
      
      //导入隐饰操作,否则RDD无法调用toDF方法  
      import sparkSession.implicits._  
      val peopleRDD = sparkSession.sparkContext  
      .textFile("/tmp/people.txt",2)  
      .map( x => x.split(",")).map( x => Person(x(0),x(1).trim().toInt)).toDF()  
      
      

    注意
    请不要将case Class定义在main 方法中与toDF一起使用,或与使用toDF定义在同一函数中

  • 相关阅读:
    团队展示&选题
    结对编程(JAVA实现)
    wc项目(node.js实现)
    复审与事后分析
    事后诸葛亮分析报告
    Alpha阶段项目复审
    测试与发布
    Scrum 冲刺第五篇
    Scrum 冲刺第一篇
    项目冲刺
  • 原文地址:https://www.cnblogs.com/lestatzhang/p/10883835.html
Copyright © 2011-2022 走看看