首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Spark-Scala从网上下载CSV文件?

如何使用Spark-Scala从网上下载CSV文件?
EN

Stack Overflow用户
提问于 2016-09-25 16:24:12
回答 2查看 6.3K关注 0票数 5

世界,

如何使用Spark-Scala从网上下载CSV文件并将其加载到spark-csv DataFrame中?

目前,我依赖shell命令中的curl来获取CSV文件。

下面是我想要增强的语法:

代码语言:javascript
复制
/* fb_csv.scala
This script should load FB prices from Yahoo.

Demo:
spark-shell -i fb_csv.scala
*/

// I should get prices:
import sys.process._
"/usr/bin/curl -o /tmp/fb.csv http://ichart.finance.yahoo.com/table.csv?s=FB"!

import org.apache.spark.sql.SQLContext

val sqlContext = new SQLContext(sc)

val fb_df = sqlContext.read.format("com.databricks.spark.csv").option("header","true").option("inferSchema","true").load("/tmp/fb.csv")

fb_df.head(9)

我想增强上面的脚本,使其成为没有shell语法的纯Scala。

EN

回答 2

Stack Overflow用户

发布于 2016-09-25 17:47:03

代码语言:javascript
复制
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
票数 7
EN

Stack Overflow用户

发布于 2020-03-28 05:56:40

Process CSV from REST API into Spark找到更好的答案

这就是了:

代码语言:javascript
复制
import scala.io.Source._
import org.apache.spark.sql.{Dataset, SparkSession}

var res = fromURL(url).mkString.stripMargin.lines.toList
val csvData: Dataset[String] = spark.sparkContext.parallelize(res).toDS()

val frame = spark.read.option("header", true).option("inferSchema",true).csv(csvData)
frame.printSchema()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39684822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档