【发布时间】:2022-06-11 01:35:19
【问题描述】:
我已使用 Spark 将数据表加载到 DataBricks 中包含图像(content 列)的 DataFrame:
df_test = (spark.read.format("delta").table(data_table)).select(col("content"), col("label_index"))
它可以正确显示带有display(df_test) 的图像。
但是在对数据框上的行进行一些过滤后,显示不再起作用:
a = [3,6,9]
df_test_filtered = [df_test.collect()[i] for i in a]
display(df_test_filtered)
我知道df_test_filtered 现在是一个行列表,所以我也尝试将它转换回适当的 DataFrame,如下所示:
df_test_cols = df_test.columns
df_test2 = spark.createDataFrame(data=df_test_filtered, schema = df_test_cols)
display(df_test2)
在这两种情况下,结果都是这样的:
如果我关闭原始(未过滤)数据帧的显示图像预览复选框,那将是我得到的原始二进制内容:
但是对于过滤后的,我没有这个复选框。显然根据文档: https://docs.microsoft.com/en-us/azure/databricks/notebooks/visualizations/#display-image-type
display 方法应该自动识别图像,但它没有。知道如何强制它正确显示它们吗?
【问题讨论】:
标签: image apache-spark pyspark azure-databricks