WindowsにインストールされているSparkRの下地ファイルを読み込もうとしています。私は、次のコマンド all_tweets <発行すると - コレクト(read.parquet(sqlContextを、 "HDFS:// localhostを:9000/orcladv /インターネット/ rawtweetsは"))WindowsのSparkR
私はisStatic =(invokeJavaでエラー エラーが出ますFALSE、objId $ id、methodName、...): java.lang.AssertionError:アサーションに失敗しました。定義済みのスキーマが見つかりませんでした。ファイル/ C:/ Users/xxxxx/Documents/hdfs:/ localhost:9000/orcladv/internet/rawtweetsです。それはHDFSであると/ユーザー::/ C:それはファイルを接頭辞なぜ
at scala.Predef$.assert(Predef.scala:179)
は私はわからない// localhostを:9000
助けてください..
おかげ
Bala
あなたには無関係かもしれませんが、おそらく有用です。collect()の使用については慎重にしてください。 Parquetファイルから直接Spark DataFrameにデータを取得してみてください。 collect()を使用すると、Spark DataFrameを吹き飛ばし、R data.frameを作成しました。このR data.frameは1つのスレッドで処理されます。 Sparkの分散処理能力は使用しません。逆に、コードからcollect()を削除すると、クラスタ全体でマルチスレッドで処理されるSpark DataFrameが作成されます。あなたのデータセットがR data.frameで扱えるほど小さい場合は、なぜSparkを使用するのですか? – SpiritusPrana
ありがとう、SpiritusPrana。はい、私は収集の使用の意義を理解しています。この場合のビジネスロジックでは、論理が個別の行で処理されているので、私はcollect()関数を使用することはできません。それは他の行からの情報を理解する必要はなく、その意味で行は相互に排他的です。しかし、Spark ** R **を何度も使用すると、一連のデータフローを操作する必要があります。これは、実行中の分析プロセスの種類が原因である可能性があります。あなたの注意をもう一度おねがいします。この場合、私は間違いなくcollect()を取り除くことができます –