[英]Modify Java JTable AbstractTableModel from external data source (e.g. data read from a socket)
[英]ApacheSpark read dataframe from http source (e.g. csv, …)
我很難從http源(例如csv,...)讀取ApacheSpark DataFrame。
HDFS和本地文件有效。
通過使用以下命令啟動spark-shell,還設法使AWS S3正常運行:
spark-shell --packages org.apache.hadoop:hadoop-core:1.2.1
然后像這樣更新hadoop conf:
val hadoopConf = sc.hadoopConfiguration
hadoopConf.set("fs.s3.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
hadoopConf.set("fs.s3.awsAccessKeyId", "****")
hadoopConf.set("fs.s3.awsSecretAccessKey", "****")
恕我直言,必須存在一個fs.http.impl
和fs.https.impl
參數以及org.apache.hadoop.fs.FileSystem
的相應實現。 但是我什么都沒找到。
很難相信沒有對HTTP(S)的支持,因為這在Pandas和R中毫無疑問。
有什么想法我想念的嗎? 順便說一句,這是失敗的代碼塊:
val df=spark.read.csv("http://raw.githubusercontent.com/romeokienzler/developerWorks/master/companies.csv")
出現以下錯誤:
17/06/26 13:21:51 WARN數據源:查找元數據目錄時出錯。 java.io.IOException:方案無文件系統:org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667)上的org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2660)上的http在org.apache.hadoop.fs.FileSystem.access $ 200(FileSystem.java:94)在org.apache.hadoop.fs.FileSystem $ Cache.getInternal(FileSystem.java:2703)在org.apache.hadoop.fs。 FileSystem $ Cache.get(FileSystem.java:2685)
在org.apache.spark.sql.execution.datasources在org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)在org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373) .org.apache.spark.sql.execution.datasources.DataSource $$ anonfun $ 14.apply(DataSource.scala:370)的DataSource $$ anonfun $ 14.apply(DataSource.scala:372),位於scala.collection.TraversableLike $$ anonfun $ flatMap $ 1.apply(TraversableLike.scala:241)在scala.collection.TraversableLike $$ anonfun $ flatMap $ 1.apply(TraversableLike.scala:241)在scala.collection.immutable.List.foreach(List.scala:381) ),位於org.apache.spark.sql.execution.datasources.DataSource的scala.collection.immutable.List.flatMap(List.scala:344)的scala.collection.TraversableLike $ class.flatMap(TraversableLike.scala:241)處。 org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:152)上的resolveRelation(DataSource.scala:370)
在org.apache.spark.sql.DataFrameReader.csv(DataFrameReader.scala:415)在org.apache.spark.sql.DataFrameReader.csv(DataFrameReader.scala:352)... 48被淘汰
這是重復的:
只是將答案復制並粘貼到此處:
val content = scala.io.Source.fromURL("http://ichart.finance.yahoo.com/table.csv?s=FB").mkString
val list = content.split("\n").filter(_ != "")
val rdd = sc.parallelize(list)
val df = rdd.toDF
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.