首页 > 其他分享 >PyODPS节点实现避免将数据下载到本地

PyODPS节点实现避免将数据下载到本地

时间:2024-11-24 09:30:20浏览次数:4  
标签:... df MaxCompute 节点 json 本地 数据 PyODPS

本文为您介绍PyODPS如何避免将数据下载到本地。

背景信息

PyODPS提供了多种方便下载数据到本地的方法。因此,在设备允许的情况下,可以把数据下载到本地处理,然后再上传至MaxCompute。但是这种操作非常低效,数据下载到本地进行处理,无法使用MaxCompute的大规模并行能力。当数据量大于10 MB时,不建议进行本地数据处理。常见的将数据下载到本地的操作如下:

  • Head、Tail和To_pandas方法的调用。通常,可以调用head、tail方法返回少量数据进行数据探查,当数据量较大时,建议调用Persist方法,将数据直接保存在MaxCompute表中。详情请参见执行

  • 在表或SQL实例上直接执行Open_reader方法获取表数据。当数据量大时,建议使用PyODPS DataFrame(从MaxCompute表创建)和MaxCompute SQL来处理数据,以替代本地数据处理这种比较低效的方式。

示例代码

将一份JSON串数据按Key-Value对展开成一行,示例代码如下。

  • 本地测试,通过head()方法返回少量数据进行测试。

    In [12]: df.head(2)
                   json
    0  {"a": 1, "b": 2}
    1  {"c": 4, "b": 3}
    
    In [14]: from odps.df import output
    
    In [16]: @output(['k', 'v'], ['string', 'int'])
        ...: def h(row):
        ...:     import json
        ...:     for k, v in json.loads(row.json).items():
        ...:         yield k, v
        ...:   
    
    In [21]: df.apply(h, axis=1).head(4)
    
       k  v
    0  a  1
    1  b  2
    2  c  4
    3  b  3
  • 线上生产,通过persist()方法将结果存回MaxCompute表。

    In [14]: from odps.df import output
    
    In [16]: @output(['k', 'v'], ['string', 'int'])
        ...: def h(row):
        ...:     import json
        ...:     for k, v in json.loads(row.json).items():
        ...:         yield k, v
        ...:   
    
    In [21]: df.apply(h, axis=1).persist('my_table')

标签:...,df,MaxCompute,节点,json,本地,数据,PyODPS
From: https://blog.csdn.net/2401_88127808/article/details/143890822

相关文章

  • PyODPS节点实现结巴中文分词
    本文为您介绍如何使用DataWorks的PyODPS类型节点,结合开源结巴中文分词库,对数据表中的中文字段进行分词处理并写入新的数据表,以及如何通过闭包函数使用自定义词典进行分词。前提条件已创建DataWorks工作空间并绑定了MaxCompute计算引擎创建工作空间。背景信息DataWorks为您......
  • 大语言模型(LLM)的训练微调 Fine Tuning -- part3 本地调用
    以下代码示范如何调用已经微调后的大语言模型,调用本地模型先决条件已经有了本地训练好的大语言模型,如何训练可以参考我的博文《生成式AI》课程作业6大语言模型(LLM)的训练微调FineTuning--part2-CSDN博客文章浏览阅读148次,点赞2次,收藏2次。代码围绕一个主工作目录展开,......
  • 本地部署 excalidraw
    本地部署excalidraw0.引言1.本地部署excalidraw2.访问excalidraw0.引言Excalidraw编辑器是一款开源虚拟手绘白板,支持协作且端到端加密。1.本地部署excalidrawgitclonehttps://github.com/excalidraw/excalidraw.git;cdexcalidrawvidocker-compos......
  • 本地Docker部署开源可视化实时监控工具Netdata并实现远程监测系统性能数据
    文章目录前言1.关于Netdata2.本地部署Netdata3.使用Netdata4.cpolar内网穿透工具安装5.创建远程连接公网地址6.固定Netdata公网地址前言本文主要介绍如何在LinuxUbuntu系统使用Docker本地部署Netdata,并结合cpolar内网穿透工具实现远程访问本地服务器上的Netdata,轻......
  • 【stable diffusion部署】Stable Diffusion上手攻略!在线VS本地运行,一文解锁全流程!太详
    前言AI绘画界两大神器Midjourney和StableDifussion想必大家应该都听过,但很多新手玩家可能只用过Midjourney,今天给大家介绍下StableDiffusion的在线及本地运行的5种方法!StableDiffusion是由初创公司StabilityAl和慕尼黑大学机器视觉学习组和AI视频剪辑技术创业公司......
  • 【stable diffusion模型】Stable Diffusion3.5本地部署与远程使用生成AI图片
    前言本篇文章介绍如何在Windows系统电脑本地部署StableDiffusion3.5,并结合cpolar内网穿透工具实现公网环境远程访问制作AI图片,无需公网IP也不用重复部署那么麻烦。StableDiffusion3.5(简称SD3.5)是StabilityAI的最新力作,是对之前3.0版本的一次革命性升级!这次更新不......
  • 本地路由的ip过滤器完成了 不要用公有服务器挂载,只供大家程序研究观看
    ////////////////////////////我有windows开发者免责///////////////////////////////编译release’发布版本‘ #include<Windows.h>#include<stdlib.h>#pragmacomment(lib,"WS2_32.lib")#include<corecrt_wstdlib.h>#include<iostream>#include&......
  • 出售短视频平台,多节点实例数据同步触发的方式
    出售短视频平台,多节点实例数据同步触发的方式今天标题的内容,主要讲同步如何触发?内容已经圈定死,因此就不谈数据同步涉及的一致性,只谈如何触发这个动作。多节点实例触发的关键是,一旦触发,各个节点都要通知到位。那如何进行多个节点通知呢?答案就是通过广播。本案例核心流程图 实......
  • 代码随想录算法训练营第十三天| 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子
    110.平衡二叉树题目链接:.-力扣(LeetCode)文章链接:代码随想录视频链接:后序遍历求高度,高度判断是否平衡|LeetCode:110.平衡二叉树_哔哩哔哩_bilibili《代码随想录》算法公开课开讲啦!快来打卡!本期视频的文字讲解版在「代码随想录」刷题网站:programmercarl.com,这里刷题顺序,详......
  • deployment扩容-查看pod使用的CPU-统计ready状态节点数量
    在Kubernetes中,以下命令可以帮助您完成这些操作:1.Deployment扩容使用kubectlscale命令扩容Deployment,将副本数(Pod数量)增加到指定数量:kubectlscaledeployment<deployment-name>--replicas=<number-of-replicas>例如,将名为my-deployment的Deployment扩......