나는 그때 DataSet에 변환을 내 CSV 사용 DataFrame를로드하지만,이 라인에서이스칼라에서 스칼라를 사용하여 DataSet을 사용하는 방법은 무엇입니까?
여러 마커와 같은 쇼의 :
- 데이터 집합에 저장 유형에 대한 인코더를 찾을 수 없습니다.
spark.implicits._ 다른 유형을 직렬화하기위한 지원이 향후 릴리스에서 추가 될 예정입니다.
- 메서드에 대한 인수가 충분하지 않습니다. (암시 적 증거 $ 2 :
org.apache.spark.sql.Encoder) [org.apache.spark.sql.Dataset] [DataSet.spark.sql.Dataset] . 알 수없는 값 매개 변수 증명 $ 2
해결 방법?.
case class aaCSV(
a: String,
b: String
)
object WorkShop {
def main(args: Array[String]) = {
val conf = new SparkConf()
.setAppName("readCSV")
.setMaster("local")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
val customSchema = StructType(Array(
StructField("a", StringType, true),
StructField("b", StringType, true)))
val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").schema(customSchema).load("/xx/vv/ss.csv")
df.printSchema()
df.show()
val googleDS = df.as[aaCSV]
googleDS.show()
}
}
지금 나는이 같은 주요 기능을 변경 - - 내 코드는
def main(args: Array[String]) = {
val conf = new SparkConf()
.setAppName("readCSV")
.setMaster("local")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
import sqlContext.implicits._;
val sa = sqlContext.read.csv("/xx/vv/ss.csv").as[aaCSV]
sa.printSchema()
sa.show()
}
를하지만 오류가 발생합니다 - "주"org.apache.spark.sql.AnalysisException 스레드 예외 : 할 수 없습니다 주어진 입력 열을 'Adj_Close
'해결 : [_c1, _c2, _c5, _c4, _c6, _c3, _c0]; line 1 pos 7. 어떻게해야합니까?
이제 스파크 스케줄러를 사용하여 주어진 시간 간격을 기준으로 내 방법을 실행합니다. 그러나이 링크 (https://spark.apache.org/docs/latest/job-scheduling.html#scheduling-within-an-application)를 참조합니다. 친절하게 도와주세요.
"방법에 대한 충분한 인수"... 어떤 방법
아래 블로그는 다른 Dataframes 및 데이터 집합에 대한 예제가있다? 당신의 코드는 어디에 있습니까? –
흠. 코드에 주석을 사용하지 마십시오. 질문을 편집하고 적절하게 형식을 지정하십시오. 감사합니다 –
@Sarathkumar Vulchi : ds를 ds로 변환하기 전에이 줄'sqlContext.implicits._'를 추가 할 수 있습니까? – Shankar