开发者社区> 问答> 正文

pyODPS执行 open_reader 操作如何获取表中大于1万条的数据

已解决

table上可以执行 open_reader 操作来打一个reader来读取数据,只能读出1万条的数据,怎么办?
with odps.execute_sql('select * from bms ).open_reader() as reader:

for record in reader:

展开
收起
larrysz 2016-08-09 17:56:32 9570 0
2 条回答
写回答
取消 提交回答
  • 程序猿一枚,把梦想揣进口袋的挨踢工作者。主要工作是分布式数据分析(DataFrame并行化框架),以及大规模分布式多维数组计算框架等。
    采纳回答

    有两个方法

    1、 SQL写成create table as select *,这样再使用tunnel下载

    odps.execute_sql('create table my_tmp_table as select ***')
    t = odps.get_table('my_tmp_table')
    with t.open_reader() as reader:
        for record in reader:

    2、 使用instance tunnel,可以用tunnel读取instance执行结果。这个会在0.6版本完成,预计在下周末或者下下周初发布。

    2019-07-17 20:03:06
    赞同 1 展开评论 打赏
  • SQL里必须每次都create table吗?


    PyODPS在table上执行 open_reader 操作来打一个reader来读取数据。操作record(修改数据,把数据存入array或list)是在ODPS运行的还是在本地运行的?

    with t.open_reader(partition='pt=test') as reader:

    count = reader.count
    for record in reader[5:10] 
        # 处理一条记录
    2019-07-17 20:03:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DataWorks高效数据分析最佳实践-2020飞天大数据平台实战应用第一季 立即下载
DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载