0
我有取决于VM参数是否被设置为TRUE
或FALSE
一个leftanti join
一块使用Apache火花连接两个dataframes与条件依赖于一个VM参数-DearlyData=TRUE
用于inner join
Java代码,-DearlyData=FALSE
(从技术上讲,如果它被设置为TRUE
或任何其他值)我应该使用虚拟机参数还是环境变量?
这是我的代码的简化版本:
``
String earlyData = System.getProperty(Constants.EARLY_DATA);
if(earlyData.equalsIgnoreCase("TRUE")){
log.trace("Running Early Data");
DataBo.processData(earlyDF.join(cassandraDF,
earlyDF.col(AA).equalTo(example.col(BB))
.and(earlyDF.col(CC).equalTo(example.col(DD))),"inner")
drop(Constants.AA, Constants.CC));
}else{
log.trace("Running Late Data");
DataBo.processData(earlyDF.join(cassandraDF,
earlyDF.col(AA).equalTo(example.col(BB))
.and(earlyDF.col(CC).equalTo(example.col(DD))), "leftanti")
.drop(Constants.AA, Constants.CC));
``
我的代码工作,但我的问题是这样的:
- 我应该使用
Environment Variable
或字符串earlyData
一个VM Argument
? - 在这样的
conditional
中使用一个与另一个相比,是否存在缺陷或无法预料的复杂情况?
https://stackoverflow.com/a/7054981/1490322 –
这正是我所期待的。谢谢! – Jeremy