使用 spark dataFrame 从 HDFS 加载数据 [英] Using spark dataFrame to load data from HDFS
问题描述
我们可以在从 HDFS 读取数据时使用 DataFrame.我在 HDFS 中有一个制表符分隔的数据.
Can we use DataFrame while reading data from HDFS. I have a tab separated data in HDFS.
我用谷歌搜索,但看到它可以用于 NoSQL 数据
I googled, but saw it can be used with NoSQL data
推荐答案
DataFrame 当然不限于 NoSQL 数据源.Parquet、ORC 和 JSON 支持在 1.4 到 1.6.1 中原生提供;使用 spark-cvs 包支持文本分隔文件.
DataFrame is certainly not limited to NoSQL data sources. Parquet, ORC and JSON support is natively provided in 1.4 to 1.6.1; text delimited files are supported using the spark-cvs package.
如果您在 HDFS 中的/demo/data 中有 tsv 文件,那么以下代码会将文件读入 DataFrame
If you have your tsv file in HDFS at /demo/data then the following code will read the file into a DataFrame
sqlContext.read.
format("com.databricks.spark.csv").
option("delimiter","\t").
option("header","true").
load("hdfs:///demo/data/tsvtest.tsv").show
要从 spark-shell 运行代码,请使用以下命令:
To run the code from spark-shell use the following:
--packages com.databricks:spark-csv_2.10:1.4.0
在 Spark 2.0 中 csv 是本机支持的,因此您应该能够执行以下操作:
In Spark 2.0 csv is natively supported so you should be able to do something like this:
spark.read.
option("delimiter","\t").
option("header","true").
csv("hdfs:///demo/data/tsvtest.tsv").show
这篇关于使用 spark dataFrame 从 HDFS 加载数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!