我们有几个HDFS目录,其中数据以定界格式存储。这些目录在每个摄取日期被创建为一个目录。这些目录作为分区添加到Hive外部表中。
目录结构:
/ data / table1 / INGEST_DATE = 20180101
/ data / table1 / INGEST_DATE = 20180102
/ data / table1 / INGEST_DATE = 20180103等
现在,我们要在Spark作业中处理此数据。从程序中,我可以通过提供确切的目录路径(选项1)直接读取这些HDFS目录,也可以从Hive读取数据帧和进程(选项2)。
我想知道跟在Option1或Option2之间是否有重大区别。如果需要其他详细信息,请告诉我。 在此先感谢
答案 0 :(得分:0)
如果要选择列的子集,则只能通过spark.sql进行。在您的用例中,我认为不会有显着差异。
使用Spark SQL,您可以自动进行分区修剪。