pyspark
当我在foreachRdd方法中使用print()时,它可以工作!
topic_rdd = lines.map(lambda x: get_topic_rdd(x)).filter(lambda x: x[0]!= None)
topic_rdd.foreachRDD(lambda x: x.foreachPartition(lambda y: echo(y)))
我可以使用spark-on-yarn
查看登录控制台但是如果我使用foreachPartition的方法,它就看不到任何打印日志()
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/chart0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:id="@+id/chart1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:id="@+id/chart2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="horizontal">
</LinearLayout>
<LinearLayout
android:id="@+id/chart3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>
</ScrollView>
如果我想查看日志,我需要输入不同的分区来查看日志吗?我可以在单一控制台中看到日志。顺便说一下,我可以在单控制台中看到带有scala但是python的日志。
答案 0 :(得分:0)
rdd.foreachRDD正在驱动程序节点上运行,该节点向您的终端发送消息
rdd.foreachPartition正在工作人员节点上运行,该节点向工作人员的终端发送消息,您无法看到
如果要查看日志,只需将其另存为文件