我已经写了pyspark作业,我的工作是花时间我想分析作业并修复运行缓慢的代码。一个问题是我没有spark history server的访问权限,因此我必须在代码周围做一些技巧,并了解spark在哪个部分花费了更多的时间。我试过在dat框架上运行count,但这似乎对理解工作缓慢没有多大帮助。下面是我在代码中执行的步骤:
步骤1:从cassandra表中读取:
cassandra_data = spark_session.read \
.format('org.apache.spark.sql.cassandra') \
.options(table=table, keyspace=keyspace) \
.load()
return data
第2步:在从cassandra读取的Dataframe中添加一列,该列在整行上的值为md5。
data_wth_hash = prepare_data_md5(cassandra_data)
data_wth_hash.cache()
data_wth_hash.count()
第3步:写入AWSS3文件夹。job花了那么多时间编写s3,因为在执行操作时,只有我能够看到输出,无法理解它在哪里花费了更多的时间。我无法访问spark history ui以了解它在何处花费更多时间。
暂无答案!
目前还没有任何答案,快来回答吧!