[解決済み] Spark - CSVファイルをDataFrameとして読み込む?
2022-03-13 06:18:19
質問
CSVをsparkで読み込んでDataFrameに変換し、HDFSに格納したいのですが
df.registerTempTable("table_name")
試してみました。
scala> val df = sqlContext.load("hdfs:///csv/file/dir/file.csv")
エラーになりました。
java.lang.RuntimeException: hdfs:///csv/file/dir/file.csv is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [49, 59, 54, 10]
at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:418)
at org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache$$anonfun$refresh$6.apply(newParquet.scala:277)
at org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache$$anonfun$refresh$6.apply(newParquet.scala:276)
at scala.collection.parallel.mutable.ParArray$Map.leaf(ParArray.scala:658)
at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply$mcV$sp(Tasks.scala:54)
at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply(Tasks.scala:53)
at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply(Tasks.scala:53)
at scala.collection.parallel.Task$class.tryLeaf(Tasks.scala:56)
at scala.collection.parallel.mutable.ParArray$Map.tryLeaf(ParArray.scala:650)
at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask$class.compute(Tasks.scala:165)
at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.compute(Tasks.scala:514)
at scala.concurrent.forkjoin.RecursiveAction.exec(RecursiveAction.java:160)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Apache SparkでCSVファイルをDataFrameとして読み込むための正しいコマンドは何ですか?
どのように解決するのですか?
spark-csvはSparkのコア機能の一部であり、別のライブラリは必要ありません。 そのため、例えば以下のようなことが可能です。
df = spark.read.format("csv").option("header", "true").load("csvfile.csv")
scalaでは、(csvなら","、tsvなら" \t" などのフォーマットイン区切り文字に対応します)
val df = sqlContext.read.format("com.databricks.spark.csv")
.option("delimiter", ",")
.load("csvfile.csv")
関連
-
[解決済み] Spark - Sparkでパーセンタイルを計算する方法は?
-
[解決済み] Scala マップ foreach
-
[解決済み】Scalaにおける中括弧と括弧の正式な違い、また、どのような場合に使用すべきなのか?
-
[解決済み】関数を定義する "def "と "val "の違いとは?
-
[解決済み】Scalaでケースクラスのインスタンスをクローンして、1つのフィールドだけを変更するにはどうすればよいですか?
-
[解決済み】良いスカラズの紹介【終了しました
-
[解決済み] マクロから匿名クラスのメソッドを持つ構造型を取得する
-
[解決済み] Scalaで環境変数を読み込む方法
-
[解決済み] Scala:1ステートメントで文字列をファイルに書き込む
-
[解決済み] Scalaの==と.equalsの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Scala - case classを木のように(きれいに)印刷する方法
-
[解決済み] Scalaの「コンテキストバウンド」とは何ですか?
-
[解決済み] Scalaで定期的に関数を実行する
-
[解決済み] sbtのlibraryDependenciesで言うところの++=と+=の違いは何ですか?
-
[解決済み] ScalaのDSLって何?[クローズド]
-
[解決済み] SparkSQL - パーケットファイルを直接読み込む
-
[解決済み】Akka Kill vs. Stop vs. Poison Pill?
-
[解決済み】Scalaで`:_*`(コロン・アンダースコア・スター)は何をするのですか?
-
[解決済み] Build.scala、%および%%の記号の意味
-
[解決済み] Scala:1ステートメントで文字列をファイルに書き込む