JavaDstream
和JavaReceiverInputDstream
之间的差异是什么?
我已经尝试了两种,但没有什么不同。另外,它是否影响函数print()
的输出?因为我通过使用流式火花从Twitter流生成的一些源输出中看到,他们只是显示一组没有日志的批量阻止公共推文的输出。阻止输出终端的日志示例如下:
INFO [JoBGenerator]
,INFO [sparkDriver-akka.actor.default-dispatcher]
等等。整个终端充满了那些日志INFO,我无法清楚地看到公共推文和异常。
接下来的问题是,
首先,Twitter流正常运行(可以捕获公共推文),但是一段时间后,接收器在批量仍然运行良好时没有收到一条推文。所以结论是我的系统只在正在运行的程序开始时接受公共推文,并且不再像以前那样接收推文..
运行程序后是否有包含日志的spark文件?因为我无法在终端清楚地看到日志..
Thx&帮帮我
答案 0 :(得分:0)
JavaReceiverInputDstream - ReceiverInputDStream的Java友好界面,用于定义通过网络接收数据的任何输入流的抽象类。
JavaDstream - DStream的Java友好界面,它是Spark Streaming中的基本抽象,代表连续的数据流。 DStream可以从实时数据(例如,来自TCP套接字,Kafka,Flume等的数据)创建,也可以通过使用map,window等操作转换现有DStream来生成。有关适用于键值对DStream的操作,请参阅JavaPairDStream。
所以区别在于ReceiverInputDStream和DStream。 ReceiverInputDStream具有方法getReceiver() - Gets the receiver object that will be sent to the worker nodes to receive data.
。我们在JavaDstream中没有这个功能