PyODPS提供了命令行下的增强工具。

首先,用户可以在任何地方配置了帐号以后,下次就无需再次输入帐号信息。

from odps.inter import setup, enter, teardown

接着就可以配置帐号

setup('**your-access_id**', '**your-access-key**', '**your-project**', endpoint='**your-endpoint**')

在不指定room这个参数时,会被配置到叫做default的room里。

以后,在任何命令行打开的地方,都可以直接调用:

room = enter()

我们可以拿到ODPS的入口:

o = room.odps
o.get_table('dual')
odps.Table
  name: odps_test_sqltask_finance.`dual`
  schema:
    c_int_a                 : bigint
    c_int_b                 : bigint
    c_double_a              : double
    c_double_b              : double
    c_string_a              : string
    c_string_b              : string
    c_bool_a                : boolean
    c_bool_b                : boolean
    c_datetime_a            : datetime
    c_datetime_b            : datetime
说明 在重新setup room后,ODPS入口对象并不会自动替换,需要再次调用enter()以获得新的Room对象。

我们可以把常用的ODPS表或者资源都可以存放在room里。

room.store('存储表示例', o.get_table('dual'), desc='简单的表存储示例')

我们可以调用display方法,来把已经存储的对象以表格的形式打印出来:

room.display()
default desc
name
存储表示例 简单的表存储示例
iris 安德森鸢尾花卉数据集

我们通过room['存储表示例'],或者像room.iris,就可以取出来存储的对象了。

room['存储表示例']
odps.Table
  name: odps_test_sqltask_finance.`dual`
  schema:
    c_int_a                 : bigint
    c_int_b                 : bigint
    c_double_a              : double
    c_double_b              : double
    c_string_a              : string
    c_string_b              : string
    c_bool_a                : boolean
    c_bool_b                : boolean
    c_datetime_a            : datetime
    c_datetime_b            : datetime

删除也很容易,只需要调用drop方法

room.drop('存储表示例')
room.display()
default desc
name
iris 安德森鸢尾花卉数据集

要删除某个room,只需要调用teardown就可以了,不传参数时删除默认room。

teardown()