开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks找阿里运维截图提示如图所示,看描述是cpu资源沾满了么?

DataWorks现在的pyodps脚本固化历史分区数据执行超过48小时执行不完,看日志,只跑了1/5的样子,找阿里运维截图提示如图所示,看描述是cpu资源沾满了么?我们数据量并不大,8000个分区,2.7亿条数据而已
pyodps大致操作如下
import datetime
from odps import ODPS
import pandas as pd

sql =
SELECT DISTINCT pt
FROM p.XXXXXXXta.st.XXXXXXXtatai order by pt desc

instance = odps.run_sql(sql)
instance.wait_for_success()

results = []

with instance.open_reader() as reader:
for record in reader:
results.append(record.values)

distinct_pt_df = pd.DataFrame(results, columns=['pt'])

total_partitions = len(distinct_pt_df)

for index, row in distinct_pt_df.iterrows():
partition_str = str(row['pt'])

print(f"当前执行序号:{index+1} / 总个数:{total_partitions}")
sql_insert = f
INSERT OVERWRITE TABLE sc_dr_ytai_sjzq.STG_SD_YT_SETL_FEE_STT_D PARTITION(pt='{partition_str}')
select XXXXXXXta
from scXXXXXXXtaqXXXXXXXtaai c
where XXXXXXXtaloc not in ('3', '4')
and a.psn_no = d.psn_no;

print (sql_insert )
insert_instance = odps.run_sql(sql_insert )
insert_instance.wait_for_success()!

展开
收起
cuicuicuic 2024-03-31 20:13:41 18 0
2 条回答
写回答
取消 提交回答
  • 看起来使用了pandas 会下载到本地执行 独享调度资源组有限制 下载不能超过50m,建议是用odps的df ,不过odps的df不支持遍历 可以咨询MaxCompute同学看下是否有其他解法
    from odps.df import DataFrame ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2024-04-01 17:38:38
    赞同 展开评论 打赏
  • 您的DataWorks PyODPS脚本在处理历史分区数据时遇到了执行时间过长的问题,仅完成了约1/5的进度,且阿里云运维提供了截图提示,似乎指向CPU资源占用满的情况。考虑到您提到的数据规模(8000个分区,2.7亿条数据),虽然不算非常庞大,但在某些特定操作或资源限制下,依然可能导致长时间运行甚至阻塞。

    2024-03-31 20:41:53
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载