通过Spark从HDFS位置阅读Parquet

时间:2016-10-17 10:30:01

标签: apache-spark

我正在使用Spark。

我的群集有一个名为/ user / cloudera / omega / mdp /由transdate分区的HDFS目录。分区目录中的所有文件都是镶木地板文件。

我也有一个名为" mdp"指着那些镶木地板文件。

基本上我的要求是阅读这些镶木地板文件并使用一些逻辑进行处理并将处理后的数据存储在另一个HDFS位置。

我正在尝试使用sqlContext通过spark-sql读取这些镶木地板文件,我也可以通过使用下面的代码来阅读它们

我想知道阅读那些镶木地板文件最安全的方法

选项1:通过传递HDFS路径

来读取镶木地板文件
scala>  val df = sqlContext.read.parquet ("/user/cloudera/omega/mdp/transdate=*")
df: org.apache.spark.sql.DataFrame = [trans_id: bigint, trans_grp_id:  string, trans_amount_id: bigint, transdate: int]

选项2:通过传递配置单元选择查询

来读取它们
scala> val df2 = sqlContext.sql("select * from omega.mdp")
df2: org.apache.spark.sql.DataFrame = [trans_id: bigint, trans_grp_id: string, trans_amount_id: bigint, transdate: int]

从以上两个选项中哪一个是最安全的读取数据的方法?

我们也可以通过sparkContext单独读取这些镶木地板文件吗?

0 个答案:

没有答案