在odpsdataframe上的聚合操作

  • 手动业务流程创建

业务流程是周期示例,手动业务流程是手动实例,数据清洗用手动业务流程。


新建手动业务流程

编辑Pyodps节点

  • 执行sql并读取:
sql =  'SELECT * FROM  data_product WHERE source="_leycloud" and  trim(title)!="" and attrs LIKE "%面料%" and attrs LIKE "%风格%"'
with odps.execute_sql(sql).open_reader() as reader:
  • 打开要写入的表逐行读取
with t.open_writer() as writer:
        count = reader.count
        for i in range(count//10000):
            #print(i)
            for product in reader[10000*i:10000*(i+1)]:
                wirte_table(product,writer,category_dic,attrs_name)
  • 数据处理后以列表的方式写入表
r= record.Record(schema=xj_t.schema,values =values)
        writer.write(r) 
提交节点并运行
提交节点
简单模式任务发布

简单模式项目没有任务发布的概念,如果您想要实现简单项目内的开发、生产环境隔离,仅能通过把任务克隆至用于生产的项目并执行提交来实现,即:简单模式项目(用于开发)+简单模式项目(用于生产)。


任务发布

如下图所示,用户创建的两个简单模式项目分别用于开发、生产,可以先使用 跨项目克隆将A项目中的任务克隆至B项目,再将克隆过来的任务在B项目中提交至调度引擎进行调度。

  • 在odpsdataframe上采样数据分析

df_tops = t_tops.to_df()
#df_tops.groupby(df_tops.style).agg(count = df_tops.count())
sample = df_tops.sample(parts=10000)
sample.count()
sample
在pyodps可视化增强的key_word分布
  • jupyter启用日志和交互增强
pip install aliyun-log-python-sdk>=0.6.43 pandas odps ipywidgets -U
1. jupyter --path
进入data的第一个目录(或者第二个也可以),
例如C:\Users\Administrator\AppData\Roaming\jupyter
在里面构建一个子目录(如果没有的话):nbextensions

2. python -c "import odps;print(odps);"
根据输出找到odps模块所在目录,进入子目录static > ui ,例如:C:\ProgramData\Anaconda3\Lib\site-packages\odps\static\ui

3. 复制#2中的target目录到#1中,并修改target目录为pyodps
例如: C:\ProgramData\Anaconda3\Lib\site-packages\odps\static\ui\target ==> C:\Users\Administrator\AppData\Roaming\jupyter\nbextensions\pyodps

4. 启动Jupyter前验证下
jupyter nbextension enable --py --sys-prefix widgetsnbextension
jupyter nbextension enable pyodps/main
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容