単純なCSVファイルからSpark Datasetを作成したいとします。ここでは、CSVファイルの内容は以下のとおりです。ここでCSVファイルからSpark Datasetを作成
name,state,number_of_people,coolness_index
trenton,nj,"10","4.5"
bedford,ny,"20","3.3"
patterson,nj,"30","2.2"
camden,nj,"40","8.8"
は、データセットを作成するコードは次のとおりです。ここで
var location = "s3a://path_to_csv"
case class City(name: String, state: String, number_of_people: Long)
val cities = spark.read
.option("header", "true")
.option("charset", "UTF8")
.option("delimiter",",")
.csv(location)
.as[City]
は、エラーメッセージは次のとおりです。「それはよいとしてアップBIGINTする文字列からnumber_of_people
をキャストすることはできません
Databricksは、データセットとこの特定のエラーメッセージを作成する方法について説明しています(this blog post)。
エンコーダは熱心にあなたがデータの誤っ プロセスのTBにしようとする前に、 は役に立ちエラーメッセージを提供し、あなたのデータが予想されるスキーマと一致することを確認してください。たとえば、 というデータ型を使用しようとすると、オブジェクトへの変換が (つまり、numStudentsは の最大値255を保持するバイトより大きい)になり、AnalyzerはAnalysisException。
私はLong
タイプを使用していますので、このエラーメッセージは表示されません。