我正在使用Spark工作 .

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

我还有一个名为“mdp”的hive表指向那些镶木地板文件 .

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

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

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

Option 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]

Option 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单独读取这些镶木地板文件吗?