使用spark dataFrame从HDFS加载数据
Using spark dataFrame to load data from HDFS
我们可以在从HDFS读取数据时使用DataFrame吗?
我在 HDFS 中有一个制表符分隔的数据。
我用谷歌搜索了一下,但看到它可以与 NoSQL 数据一起使用
如果我没理解错的话,您本质上是想从 HDFS 中读取数据,并且希望将这些数据自动转换为 DataFrame。
如果是这样的话,我会向你推荐this spark csv 库。看看这个,它有一个很好的文档。
DataFrame当然不限于NoSQL数据源。 Parquet、ORC 和 JSON 支持在 1.4 到 1.6.1 中原生提供;使用 spark-cvs 包支持文本分隔文件。
如果您的 tsv 文件位于 /demo/data 的 HDFS 中,则以下代码会将文件读入 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吗? 我在 HDFS 中有一个制表符分隔的数据。
我用谷歌搜索了一下,但看到它可以与 NoSQL 数据一起使用
如果我没理解错的话,您本质上是想从 HDFS 中读取数据,并且希望将这些数据自动转换为 DataFrame。
如果是这样的话,我会向你推荐this spark csv 库。看看这个,它有一个很好的文档。
DataFrame当然不限于NoSQL数据源。 Parquet、ORC 和 JSON 支持在 1.4 到 1.6.1 中原生提供;使用 spark-cvs 包支持文本分隔文件。
如果您的 tsv 文件位于 /demo/data 的 HDFS 中,则以下代码会将文件读入 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