dataframe 을 만 드 는 몇 가지 방법 - json 형식의 파일 을 읽 습 니 다.

DataFrame 을 만 드 는 방법 은 모두 있 습 니 다.
  • json 형식의 파일 을 읽 고 DataFrame 만 들 기
  • 주의:
  • 제 이 슨 파일 의 제 이 슨 데 이 터 는 제 이 슨 형식 데 이 터 를 삽입 할 수 없습니다.
  • DataFrame 은 Row 형식의 RDD, df. rdd () / df. 자바 Rd () 입 니 다.
  • 제 이 슨 형식의 파일 을 두 가지 방식 으로 읽 을 수 있다.
  • df. show () 는 20 줄 의 데 이 터 를 기본 으로 표시 합 니 다.
  • DataFrame 네 이 티 브 API 는 DataFrame (불편) 을 조작 할 수 있다.
  • 임시 표 로 등록 할 때 표 의 열 은 기본적으로 ascii 순서 로 열 을 표시 합 니 다.

  • 1. 자바 버 전의 코드:
    SparkConf conf = new SparkConf();
    conf.setMaster("local").setAppName("jsonfile");
    SparkContext sc = new SparkContext(conf);
    		
    //  sqlContext
    SQLContext sqlContext = new SQLContext(sc);
    		
    /**
     * DataFrame         RDD  RDD    Row  。
     *            json     
     */
     DataFrame df = sqlContext.read().format("json").load("sparksql/json");
    // DataFrame df2 = sqlContext.read().json("sparksql/json.txt");
    // df2.show();
     /**
      * DataFrame   RDD
      */
     RDD rdd = df.rdd();
    /**
     *    DataFrame    ,     20 。            show(  )
     *   :      ,            ascii     。
     */
    // df.show();
    /**
     *        schema  
     */
     df.printSchema();
    		
     /**
      * dataFram   API   DataFrame
      */
      //select name from table
     // df.select("name").show();
     //select name age+10 as addage from table
    	 df.select(df.col("name"),df.col("age").plus(10).alias("addage")).show();
     //select name ,age from table where age>19
    	 df.select(df.col("name"),df.col("age")).where(df.col("age").gt(19)).show();
     //select count(*) from table group by age
     df.groupBy(df.col("age")).count().show();
    		
     /**
       *  DataFrame         ,           ,      ,       
      */
     df.registerTempTable("jtable");
    		
     DataFrame sql = sqlContext.sql("select age,count(1) from jtable group by age");
     DataFrame sql2 = sqlContext.sql("select * from jtable");
    		
     sc.stop();

    기본적으로 앞의 20 줄 을 표시 합 니 다. 여러 줄 을 표시 하려 면 설정 을 통 해 할 수 있 습 니 다.
    json 형식 파일 을 읽 는 방법 은 두 가지 가 있 습 니 다.
    DataFrame df = sqlContext.read().format("json").load("sparksql/json");
    // DataFrame df2 = sqlContext.read().json("sparksql/json.txt");

    표 정 보 를 표시 하 는 방법 은 두 가지 가 있 습 니 다.
    df. show 또는 df. printSchema
    2. Scala 코드
    val conf = new SparkConf()
    conf.setMaster("local").setAppName("jsonfile")
    
    val sc = new SparkContext(conf)
    val sqlContext = new SQLContext(sc)
    val df = sqlContext.read.json("sparksql/json")  
    //val df1 = sqlContext.read.format("json").load("sparksql/json")
    
    df.show()
    df.printSchema()
    //select * from table
    df.select(df.col("name")).show()
    //select name from table where age>19
    df.select(df.col("name"),df.col("age")).where(df.col("age").gt(19)).show()
    //select count(*) from table group by age
    df.groupBy(df.col("age")).count().show();
     
    /**
     *      
     */
    df.registerTempTable("jtable")
    val result  = sqlContext.sql("select  * from jtable")
    result.show()
    sc.stop()

    좋은 웹페이지 즐겨찾기