SQL은 스파크 / 스칼라 쿼리

제라드 :

나는 스파크 / 스칼라 새로운 브랜드와 나는 불꽃에 CSV 파일을 가져, 그 안에서 데이터를 분석하기 위해 노력하고있어. CSV 파일 (날짜,에,에서, passengerid, flightid) 5 열이 있습니다. 나는 성공적으로 csv 파일을 업로드하지만 난 그것에 쿼리를 수행하기 위해 갈 때, 나는 계속 오류를 얻을, 한달에 총 항공편을 찾을 말을했다 - 스레드 "주요"org.apache.spark.sql.AnalysisException 특히 '예외의를 표 또는보기를 찾을 수 없습니다 DF1을; 1 POS 14 '라인. 내가 출력 테이블을 쿼리에 문제가 거짓말로 볼 수 있기 때문에 테이블이 성공적으로 업로드됩니다. 이견있는 사람?

내 코드 아래 :

'' '패키지 GerardPRactice

import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

import org.apache.spark.SparkConf

import org.apache.spark.sql.SparkSession

import org.apache.spark.sql.SQLContext


object trial1 extends App {

  val sparkConf = new SparkConf().setAppName("trial1").
setMaster("local[2]") //set spark configuration

val sparkContext = new SparkContext(sparkConf) // make spark context
val sqlContext = new SQLContext(sparkContext) // make sql context

  val spark = SparkSession
    .builder()
    .master("local")
    .appName("Question1")
    .getOrCreate()



val df1 = sqlContext.read
    .format("com.databricks.spark.csv")
    .option("header", "true")
    .option("delimiter", "|")
    .option("inferSchema", "true")
    .load("C:/Users/Gerard/Documents/flightData.csv")
   // df1: org.apache.spark.sql.DataFrame = [passengerID: int, flightID: int, Departure: string, Destination: string, date: int]

    val df2 = sqlContext.read
    .format("com.databricks.spark.csv")
    .option("header", "true")
    .option("delimiter", "|")
    .option("inferSchema", "true")
    .load("C:/Users/Gerard/Documents/passengers.csv")

  df1.show()
  //val PassID = df1.select("passengerId")
  val totalflightJAN = spark.sql("SELECT * FROM df1 WHERE date>= '2017-01-01' & date<='2017-01-31'")
  totalflightJAN.collect.foreach(println)
}'''
Marsellus 월러스 :

자신을 수행 DataFrame에 부탁하고 스위치는 순수 SQL보다는 구문! :)

그 가정 df1.show하고 df1.printSchema성공하는 것은 (또한, 귀하의 면밀한 관찰 가지고 date, 당신은 다음을 시도 할 수있는 데이터 유형) :

df1.filter($"date" >= lit('2017-01-01') && $"date" <= lit('2017-01-31'))

당신과 함께 "날짜"포장해야 할 수도 있습니다 to_date($"date", "yyyy/MM/dd")(또는 다른 형식)

추천

출처http://43.154.161.224:23101/article/api/json?id=332713&siteId=1