【发布时间】:2016-06-06 18:12:55
【问题描述】:
我们可以在从 HDFS 读取数据时使用 DataFrame。 我在 HDFS 中有一个制表符分隔的数据。
我用谷歌搜索过,但发现它可以与 NoSQL 数据一起使用
【问题讨论】:
标签: apache-spark spark-dataframe
我们可以在从 HDFS 读取数据时使用 DataFrame。 我在 HDFS 中有一个制表符分隔的数据。
我用谷歌搜索过,但发现它可以与 NoSQL 数据一起使用
【问题讨论】:
标签: apache-spark spark-dataframe
DataFrame 当然不限于 NoSQL 数据源。 Parquet、ORC 和 JSON 支持在 1.4 到 1.6.1 中原生提供;使用 spark-cvs 包支持文本分隔文件。
如果您的 tsv 文件位于 HDFS 的 /demo/data 中,则以下代码会将文件读入 DataFrame
sqlContext.read.
format("com.databricks.spark.csv").
option("delimiter","\t").
option("header","true").
load("hdfs:///demo/data/tsvtest.tsv").show
要从 spark-shell 运行代码,请使用以下命令:
--packages com.databricks:spark-csv_2.10:1.4.0
在 Spark 2.0 中,原生支持 csv,因此您应该能够执行以下操作:
spark.read.
option("delimiter","\t").
option("header","true").
csv("hdfs:///demo/data/tsvtest.tsv").show
【讨论】:
如果我理解正确,您实际上是想从 HDFS 读取数据,并且希望这些数据自动转换为 DataFrame。
如果是这样的话,我会推荐你this spark csv 库。看看这个,它有一个非常好的文档。
【讨论】: