我想在运行spark作业时创建底层hdfs的快照。具体步骤包括删除一些Parquet文件的内容。我想创建一个快照执行删除操作,验证操作结果并继续执行下一步。然而,我找不到一个好的方法从我的spark工作访问hdfsapi。我要创建快照的目录在hdfs中被标记为snapshotable。创建快照的命令行方法是可行的,但是我需要以编程的方式来实现这一点。我正在CDH5.5上运行spark 1.5。有什么关于我如何做这个手术的线索吗?谢谢拉姆德夫
ldxq2e6h1#
我还没有验证这一点,但至少我没有得到编译错误和理论上这个解决方案应该工作。这是scala代码:
val sc = new SparkContext(); val fs = FileSystem.get(sc.hadoopConfig) val snapshotPath = fs.createSnapshot("path to createsnapshot of","snapshot name") ..... ..... if (condition satisfied) { fs.deleteSnapshot(snapshotPath,"snapshot name") }
我想这在理论上是可行的。
1条答案
按热度按时间ldxq2e6h1#
我还没有验证这一点,但至少我没有得到编译错误和理论上这个解决方案应该工作。
这是scala代码:
我想这在理论上是可行的。