详情页标题前

阿里云人工智能平台PAITableWriter API-云淘科技

详情页1

您可以使用TableWriter API对MaxCompute进行读写。

读写MaxCompute表的功能由tensorflow.python_io.TableWriter提供,可以在TensorFlow的Graph执行逻辑以外,直接对MaxCompute表进行操作。


说明 PAI-TF作业执行过程中,写入MaxCompute表的数据,必须在作业正常结束以后,才能通过TableWriter API访问。如果作业正在运行或异常退出,则无法访问。

创建Writer并打开表

初始化TableWriter将打开一个MaxCompute表并返回Writer对象。接口定义如下。

writer = tf.python_io.TableWriter(table, slice_id=0)
  • table:string类型,表示需要打开的MaxCompute表名。该参数需要与PAI命令-Doutput中的输出表名一致,否则系统报table xxx not predefined错误。
  • slice_id:int类型,表示在表的不同分区进行写入,避免写冲突。单机场景下,使用默认值0即可。分布式场景下,如果多个worker(包括PS)同时使用相同的slice_id写入数据,则会导致写入失败。


注意 每次打开一张表,相当于打开一张空表,即原表中的数据被清空。

写入记录

将数据写入已打开表的对应,该写入数据必须在关闭表之后才能读取。接口定义如下。

writer.write(values, indices)
  • values:表示写入的单行或多行数据。
    • 如果写入单行数据,则传入一个由标量组成的Tuple、List或1D-Ndarray。其中List和1D-Ndarray表示写入的各列数据类型相同。
    • 如果写入N(N>=1)行数据,则传入一个List或1D-Ndarray,参数中的每个元素对应一个单行数据(Tuple、List或以Structure为元素的Ndarray)。
  • indices:表示数据写入的列,支持由整形index组成的Tuple、List或1D-Ndarray类型。indices中的每个数对应表的每一列(列数从0开始计算)。

关闭表

接口定义如下。

writer.close()

with语句块中,无需显示调用close()关闭表。


注意 关闭表之后,如果使用open命令重新打开表,则表中原数据被清空。

通过with语句使用TableWriter

TableWriter支持通过with语句管理上下文,示例代码如下。

with tf.python_io.TableWriter(table) as writer:
    # Prepare values for writing.
    writer.write(values, incides)
    # Table would be closed automatically outside this section,

示例

  1. 在project中新建一张含有4列元素的MaxCompute表test_write,表的列名及数据类型如下。
    ColumnName ColumnType
    uid bigint
    name string
    price double
    virtual bool
  2. 使用Python命令,并配置-Doutputs为odps://project/tables/test_write,将如下表格中的数据写入test_write表。
    uid name price virtual
    25 “Apple” 5.0 False
    38 “Pear” 4.5 False
    17 “Watermelon” 2.2 False
    # table_writer_test.py文件。
    
    import tensorflow as tf
    
    # Prepare data, 准备数据。
    values = [(25, "Apple", 5.0, False),
              (38, "Pear", 4.5, False),
              (17, "Watermelon", 2.2, False)]
    
    # Open a table,打开一个表并返回writer对象。
    writer = tf.python_io.TableWriter("odps://project/tables/test")
    
    # Write records to the 0~3 columns of the table,将数据写入表的第0~3列。
    records = writer.write(values, indices=[0, 1, 2, 3])
    
    # Close the table,关闭表和Writer。
    writer.close()
  3. 提交任务至PAI-TF,并执行任务。
    $ odpscmd -e "pai -name tensorflow140 -Dscript=/table_writer_test.py -Doutputs=odps://project/tables/test_write ;"

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/164520.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云大数据开发治理平台 DataWorksAnalyticDB for MySQL 3.0数据源-云淘科技

    AnalyticDB MySQL 3.0数据源为您提供读取和写入AnalyticDB MySQL 3.0双向通道的功能,本文为您介绍DataWorks的AnalyticDB for MySQL 3.0数据同步的能力支持情况。 使用限制 ADB湖仓版数据源不支持在公共资源组配置以及运行同步任务。 如果ADB数据源配置的实例从数仓版切换到了湖仓版,使用该数据源运…

  • 阿里云日志服务SLS功能特性-云淘科技

    本文介绍日志服务主要的功能。 数据采集 日志服务提供50多种数据接入方案。具体说明如下: 支持采集服务器与应用相关的日志、时序数据和链路数据。 支持采集物联网设备日志。 支持采集阿里云产品日志。 支持采集移动端数据。 支持采集Logstash、Flume、Beats、FluentD、Telegraf等开源软件中的数据。 支持通过HTTP、HTTPS、Sysl…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库使用OpenAPI-云淘科技

    本文为您介绍使用云数据库RDS OpenAPI的基本信息。 关于使用阿里云OpenAPI的详细介绍,请参见使用OpenAPI。 基本信息 版本说明 版本号 说明 2014-08-15 推荐使用。 接入点说明 根据实例所在的地域,选择对应的服务接入点地址,以获得最低延迟。例如华北3(张家口)的VPC接入地址为rds-vpc.cn-zhangjiakou.ali…

    阿里云数据库 2023年12月9日
  • 阿里云云原生大数据计算服务 MaxCompute规格常见问题-云淘科技

    本文为您介绍MaxCompute规格的常见问题。 问题类别 常见问题 包年包月 按量计费模式转为包年包月模式时,如何评估需要购买多少计算资源? 包年包月计费模式下,计算资源是如何利用的? 按量计费 按量计费模式需要提前购买计算资源吗? 一个地域是否可以有多个项目使用开发者版? 按量计费模式转为包年包月模式时,如何评估需要购买多少计算资源? 您需要结合具体的作…

  • 阿里云人工智能平台PAI深度学习框架及开通说明-云淘科技

    阿里云机器学习平台支持深度学习框架,同时提供了功能强大的GPU计算集群。您可以使用这些框架及硬件资源来使用深度学习算法。 前提条件 已关联MaxCompute资源,具体操作,请参见管理工作空间。 背景信息 深度学习支持的框架包括TensorFlow(兼容开源TF1.12版本)。TensorFlow支持用户自己编写的Python代码。 在使用深度学习框架训练数…

    阿里云人工智能平台PAI 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。