所有。我有两个关于Spark-streaming应用程序的问题。
首先是如何将JavaMapwithStateDstream的内容输出到textFile中,我浏览了API文档,并找到了它的Dstreamlike接口。所以我使用下面的代码,尝试输出含量:
add_action( 'pre_get_posts', 'rc_modify_query_get_design_projects' );
function rc_modify_query_get_design_projects( $query ) {
if($query->is_main_query() && $query->query_vars['post_type'] == 'product' ) {
$query->set('meta_key', 'wholesale_price');
$query->set('meta_compare', '>');
$query->set('meta_value', '0');
}
但是,没有输出到hdfs路径。但是我可以从控制台看到打印结果
请告诉我是什么问题?如何输出JavaMapwithStateDstream的内容?
第二个问题:
我想在每个持续时间更新实时结果,即使没有其他新的流入,我该如何实现呢?
感谢。
答案 0 :(得分:0)
我发现JavaMapwithStateDstream可以打印出一些但不保存textFile的原因,因为每次持续时间都会更新/初始化,流入的新数据将在下次初始化时被覆盖,因此无法保存任何内容进入textFile。
解决方法是声明一个新变量来复制stateDstream的值, 我在这里使用Dstream,我认为JavaPairDstream也应该没问题。
DStream<Tuple2<String, Integer>> fin_Counts = stateDstream.dstream();
fin_Counts.print();
fin_Counts可以更新和保存。