我想要一个Partitioned Hive外部表,以便仅外部Spark进程向其写入数据(不要介意此Spark程序,因为问题不关乎此Spark程序)。现在,我要确保遵循正确的步骤来容纳这样的设置:
- 创建外部表,其位置是spark程序写入的文件夹。
-
已将Spark程序写入此文件夹,并确保正确写入数据以便对其进行分区。
- 每次Spark程序写入该文件夹,然后执行以下命令以确保Hive知道新数据:
msck修复表myTable
现在,我的问题如下:
- 以上步骤正确吗?
- 将数据写入该文件夹有哪些要求?例如,表定义中的列顺序与Spark写入的列顺序是否应该相同?请注意,写入的数据带有标头。
- 每次Spark将新数据写入文件夹时,是否有必要运行“ msck修复表myTable”,还是只有在创建新分区时才需要运行?