Dataworks实现接口调用

news2024/11/16 9:26:49
RestAPI调用

功能:实现Restful风格的API调用

步骤一:配置RestAPI数据源,在url中填Restful风格的url,若是需要账号密码登录等可以切换“验证方法”

步骤二:在离线同步中创建离线同步任务,数据来源选择配置的Restful数据源

其他接口调用

功能:实现非Restful风格的接口调用

使用节点:PyODPS,其中PyODSP2的python版本为2.7,PyODSP3的python版本为3.7

实现方法:导入所需的第三方python包,采用python编码实现

第三方包导入

公有云:直接pip安装所需包即可

专有云:导入第三方包方法如下:      

        步骤一

PyPI · The Python Package Index等平台下载对应版本的python包,将文件后缀改为.zip

       步骤二:上传资源,将第三方包上传至dataworks(注意:所有上传文件均要打包上传,直接上传文件会乱码导致无法使用)

步骤三:在PyODPS中引用资源,然后开发接口

##@resource_reference{"test.zip"}

import sys

import os

root_path =os.path.dirname(os.path.abspath('test.zip'))

os.system("unzip test.zip-d" + root_path)

sys.path.append(root_path)

import pyrfc

遇到问题:若是需要第三方包较多、包需要安装以及需要SDK等工具时,建议使用虚拟机配置环境后打包上传

推荐方法:在本地linux虚拟机(不用在意linux版本),安装Anaconda后配置对应的虚拟环境,将虚拟环境的python包整体打包(路径一般为:~/anaconda/envs/env_name/lib/pyyhon3.7/site-packages)

注意只打包site-packages内的文件,另外如果需要用到其他sdk等工具,可以将文件(X.so)直接放入即可

实例:中台实现SAP RFC接口调用

Python环境已经导入系统:包名为pack_for_sap_rfc.zip

##@resource_reference{"pack_for_sap_rfc.zip"}

import sys

import os

import pandas as pd

from odps import ODPS

from odps.df import DataFrame

# 运行环境导入

root_path =os.path.dirname(os.path.abspath('pack_for_sap_rfc.zip'))

os.system("unzippack_for_sap_rfc.zip -d" + root_path)

sys.path.append(root_path)

import pyrfc

# SAP服务器IP

ASHOST = 'x.x.x.x'

# 客户端号

CLIENT = '800'

# 系统数字

SYSNR = '03'

# 用户名

USER = 'xxx

# 密码

PASSWD = 'xxx'

# 创建连接

conn = pyrfc.Connection(ashost=ASHOST, sysnr=SYSNR, client=CLIENT, user=USER, passwd=PASSWD)

# 调用接口,其中'test'为RFC接口名,其他为传入参数

result =conn.call('test',

                   I_DATUM_FROM='',

                   I_DATUM_TO='')  

# 调用时间,传入时间参数              

ds = args['ds']

# 获取返回结果中的表

row_lists = [pd.Series(row) for row in result["ET_CONTRACT"]]

# 获取列名

column = result["ET_CONTRACT"][0].keys()

# 根据列名创建Dataframe

df = pd.DataFrame(row_lists, columns=column)

#print(df.head(10))

# 删除指定分区 方式一

# t =o.get_table("table_name")

#t.delete_partition('ds='+ds, if_exists=True)

# 删除指定分区 方式二

o.execute_sql("altertable table_name drop if exists partition(ds ='{}')".format(ds))

# 往指定分区插入数据

o.write_table("table_name", df.values.tolist(), partition='ds={}'.format(ds),create_partition=True)

注意:提交周期任务时添加时间参数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows环境变量滥用维权/提权

本文转载于:https://bbs.zkaq.cn/t/31090.html 0x01 前提 通过滥用系统的路径搜索机制来欺骗高权限用户执行看似合法的系统二进制文件,实际上是恶意的代码或程序,从而导致升权限并执行恶意操作。 攻击的关键前提: 路径搜索顺序&am…

联合华为“围剿”苹果,他笑得憋都憋不住

作者:狗蛋 螳螂观察快评:联合华为围剿苹果,荣耀总裁赵明笑得憋都憋不住,离开华为的荣耀过得怎么样了?#华为 #荣耀发布会 #赵明 #苹果开售 #中国芯片 华为5g手机王者归来,苹果慌了,其他友商也慌…

【论文记录】Boosting Detection in Crowd Analysis via Underutilized Output Features

Boosting Detection in Crowd Analysis via Underutilized Output Features Abstract Crowd Hat使用一种混合的2D-1D压缩技术进行细化空间特征与获取特定人群信息的空间和数量分布。进一步的,Crowd Hat采用自适应区域的NMS阈值与一个解耦然后对齐的范式来解决基于…

C++【视频笔记个人思考_Wang】

时间进度C是什么?多态什么是多态?生活中的多态C中的多态 赋值兼容赋值兼容规则实现安全转换 时间进度 Day101 ok Day804 ok Day805 ok C是什么? C大部分包含C语言。 C完全兼容C语言。 C在C语言的基础上添加:封装、继承、多态…

代码混淆和加固,保障应用程序的安全性

摘要:本文将详细介绍iOS技术博主在保护应用程序代码安全方面的两种重要方式:代码混淆和代码加固。通过代码混淆和加固,博主可以有效防止他人对应用程序进行逆向工程和篡改,提高应用程序的安全性。 引言:作为iOS技术博…

嵌入式Linux驱动开发(I2C专题)(六)

完善虚拟的I2C_Adapter驱动并模拟EEPROM 参考资料: Linux内核文档: Linux-4.9.88\Documentation\devicetree\bindings\i2c\i2c-gpio.txtLinux-5.4\Documentation\devicetree\bindings\i2c\i2c-gpio.yaml Linux内核驱动程序:使用GPIO模拟I2C Linux-4.9.…

【洁洁送书第七期】现在学 Java 找工作还有优势吗

java 现在学 Java 找工作还有优势吗?活力四射的 JavaTIOBE 编程语言排行榜从零开始学会 JavaJava 语言运行过程基础知识进阶知识高级知识talk is cheap, show me the code结语 文末赠书 现在学 Java 找工作还有优势吗? 在某乎上可以看到大家对此问题的…

C++算法进阶系列之倍增算法 ST 表

1. 引言 前文使用倍增算法实现了快速求幂的运算,本文继续讲解ST表,ST表即倍增表,本质就是动态规划表,记忆化了不同子问题域中的结果,用于实时查询。只是动态规划过程和传统的稍有点不一样,采用了倍增思想。…

一文带你走进软件测试的大门

目录 前言 需求 用户需求 软件需求 从测试人员的角度看需求 测试用例 测试环境 测试数据 预期结果 操作步骤 为什么要有测试用例 Bug的概念 世界上的第一个bug bug的定义 开发模型和测试模型 软件的生命周期 开发模型 瀑布模型 螺旋模型 增量、迭代 敏捷 …

服务器搭建(TCP套接字)-基础版(客户端)

一、socket 1.1、vim man查看socket :!man socket1.2、 依赖的头文件 #include <sys/types.h> #include <sys/socket.h>1.3、原型 int socket(int domain, int type, int protocol);domain说明AF_INETIPV4协议AF_INET6IPV6协议AF_LOCALUnix域协议 type说明S…

华为云云耀云服务器L实例评测|单节点环境下部署ClickHouse21.1.9.41数据库

文章目录 前言云耀云服务器L实例简介clickhouse数据库简介 一、配置环境购买云耀云服务器L实例查看云耀云服务器L实例状态重置密码查看弹性公网IP地址 FinalShell连接服务器二、搭建ClickHouse单机服务下载ClickHouse安装包解压安装依次解压启动clickhouse相关目录 三、允许远程…

为什么IPIDE代理IP可以帮助TikTok引流?

近期&#xff0c;TikTok菲律宾站点保温杯30天销量破30万&#xff0c;GMV达到近千万人民币。在当今社交媒体迅速崛起的时代&#xff0c;营销策略也在逐渐改变。TikTok作为一款非常热门的短视频社交应用&#xff0c;拥有庞大的用户群体&#xff0c;为跨境企业在国际市场上推广产品…

5个免费样机素材网站,设计必备,赶紧马住!

5个设计师必备的样机素材网站&#xff0c;免费下载~ 1、菜鸟图库 https://www.sucai999.com/searchlist/3217.html?vNTYxMjky 菜鸟图库有多种类型的设计素材&#xff0c;像平面、电商、UI、办公等素材这里面都能找到&#xff0c;样机素材非常丰富&#xff0c;比如服装的、电子…

Arcgis在属性表中添加外部Excel信息

Arcgis在属性表中添加外部Excel信息 现需要把EXCEL中这个每个像元的叶面积指数值&#xff0c;导入每个像元的属性表中。 在点的图层上右击&#xff0c;找到连接和关联&#xff0c;点击连接 字段是用于连接属性表和EXCEL的键&#xff0c;两个字段下的数据都是主键&#xff0…

揭秘梦幻般的Glam风格是什么?

如果你热爱一切漂亮、奢华和总体而言都非常华丽&#xff0c;那么华丽风格可能非常适合你。这种风格从传统的外观出发&#xff0c;通过大量的装饰细节增添了一些华丽的元素&#xff0c;创造出一个令人惊叹、闪闪发光、全方位优雅的外观。如果华丽风格引起了你的兴趣&#xff0c;…

微信小程序自动化发布

参考:https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html 参考:https://www.npmjs.com/package/miniprogram-ci npm install miniprogram-ci -S上传文件 xx.js const isNodeJs typeof process ! undefined && process.release ! null &&…

RabbitMQ消息可靠性(二)-- 消费者消息确认

和生产者的消息确认机制不同&#xff0c;因为消息接收本来就是在监听消息&#xff0c;符合条件的消息就会消费下来。 所以&#xff0c;消息接收的确认机制主要存在三种模式&#xff1a; ①自动确认&#xff0c; 这也是默认的消息确认情况。 AcknowledgeMode.NONE RabbitMQ成功…

Google高性能开源框架gRPC:快速搭建及HTTP/2抓包

一、什么是gRPC gRPC是google发起的一个*远程过程调用&#xff08;rpc&#xff09;*开源框架&#xff0c;可以在任何语言中&#xff0c;用任何编程语言编写。gRPC基于HTTP/2协议&#xff0c;使用Protocol Buffers作为序列化工具。 gRPC官网&#xff1a;https://grpc.io/ RPC …

目标跟踪:Mobile Vision Transformer-based Visual Object Tracking

论文作者&#xff1a;Goutam Yelluru Gopal,Maria A. Amer 作者单位&#xff1a;Concordia University 论文链接&#xff1a;https://arxiv.org/pdf/2309.05829v1.pdf 项目链接&#xff1a;https://github.com/goutamyg/MVT 内容简介&#xff1a; 1&#xff09;方向&#…

使用凌鲨调试网络接口

接口或API是程序员之间进行沟通和协作的重要工具之一。通过接口或API&#xff0c;程序员可以相互调用和共享代码、数据和资源&#xff0c;从而提高协作和开发的效率与便捷性。接口调试的难易程度直接决定了协作的效率。 凌鲨支持主流的接口协议&#xff0c;包括GRPC、OPENAPI/…