我在HDFS中有一个CSV文件,如何使用Spark SQL查询此文件?例如,我想在特殊列上提出一个选择的请求,并将结果再次存储到Hadoop分布式文件系统
谢谢
您可以通过创建DataFrame来实现。
val dataFrame = spark.sparkContext
.textFile("examples/src/main/resources/people.csv")
.map(_.split(","))
.map(attributes => Person(attributes(0), attributes(1).trim.toInt))
.toDF()
dataFrame.sql("<sql query>");
- 您应该创建一个火花。一个例子在这里。
- 加载一个CSV文件:
val df = sparkSession.read.csv("path to your file in HDFS")
。 - 执行您的选择操作:
val df2 = df.select("field1", "field2")
。 - 写回结果:
df2.write.csv("path to a new file in HDFS")