我正在尝试对 azure databricks 工作进行一些内存分析。这项工作使用了一个 python 脚本,该脚本严重依赖于 koalas 数据帧进行分析。我想分析哪些数据帧或对象占用的内存最多,但考拉和数据块使这在代码级别上很难做到。
我曾尝试检查我的工作的火花 UI,但这不会显示对象级别的内存信息。我还尝试在下面的示例中使用 memory_usage(),它可以在 pandas 中使用,但在 koalas 中它会失败。我还尝试了 koalas .info() 函数,但它没有提供我正在寻找的信息。
import databricks.koalas as ks
d = {'col1': [1, 2], 'col2': [3, 4]}
df = ks.DataFrame(data=d, columns=['col1', 'col2'])
print(df.memory_usage()) #Line fails
df.info() #Docs say it includes memory information but it does not show size
有什么方法可以通过使用内存函数或分析工具来查看每个考拉数据帧占用的内存量?如果它可以指示我的代码中大部分内存被使用的位置,我会选择一个 databricks 作业分析工具。