我将 modin 与 ray 结合使用来读取一个巨大的 csv 文件(56GB,15 亿行)。我事先使用 linux sort 对数据进行了排序。
以下代码导致多个工作人员因内存不足而被杀死,我怀疑计算是否有效/是否会运行。
我在具有 48 个内核和 126GB RAM 的本地机器上使用 Ray。
我将如何有效地解决这个问题?不幸的是,我无法访问网络界面来检查事情,因为它托管在无法通过防火墙访问的 ubuntu 服务器版本上。
代码:
import modin.pandas as pd
import ray
ray.init()
df = pd.read_csv("./file", index_col=0, header=None, names=["1", "2"])
df.groupby('1').sum()
射线上下文:
RayContext(dashboard_url='127.0.0.1:8265', python_version='3.8.10', ray_version='2.3.0', ray_commit='cf7a56b4b0b648c324722df7c99c168e92ff0b45', address_info={'node_ip_address': 'XXXXXXX', 'raylet_ip_address': 'XXXXXXX', 'redis_address': None, 'object_store_address': '/tmp/ray/session_2023-04-18_10-24-54_203554_3133/sockets/plasma_store', 'raylet_socket_name': '/tmp/ray/session_2023-04-18_10-24-54_203554_3133/sockets/raylet', 'webui_url': '127.0.0.1:8265', 'session_dir': '/tmp/ray/session_2023-04-18_10-24-54_203554_3133', 'metrics_export_port': XXXXXX, 'gcs_address': 'XXXX', 'address': 'XXXXXXX', 'dashboard_agent_listen_port': XXXXXX, 'node_id': 'XXXXXXXXXXXXXXXXXXXXXXXXXX'})