- 博客(136)
- 资源 (18)
- 收藏
- 关注
原创 EBS常用接口开发
整理了一些工作中常用的Oracle EBS接口和API,最早是看着大神黄建华文档起来的,格式内容参考他的文档,加上一些自己开发的程序和经历而已。
2023-02-10 08:35:59 1010
原创 hive/impala/mysql几种数据库的sql常用写法和函数说明
做大数据开发的时候,会在几种库中来回跳,同一个需求,不同库函数和写法会有出入,在此做汇总沉淀。
2024-09-27 15:09:45 466
原创 hive sql常用函数
分析函数名(参数) OVER (PARTITION BY 子句 ORDER BY 子句 ROWS/RANGE 子句)。如 sum、max、min、count、avg 等聚集函数以及 lead、lag 行比较函数等;over:关键字,表示前面的函数是分析函数,不是普通的集合函数;over 关键字后面挂号内的内容;分析子句又由下面三部分组成: partition by :分组子句,表示分析函数的计算范围,不同的组互不相干;ORDER BY: 排序子句,表示分组后,组内的排序方式;
2023-12-22 08:19:35 1076
原创 IDEA小技巧
file->setting->editor->fiel and code templates->Includes页签。在files页签对应的类中引用改模板,截图红线处的名字,就是你建立的模板的名字。7-Define选择使用的对象,Java及其里面包含的全部打勾。或者你可以自己做一个新的live templates来引用注释。4-是快捷键,注意快捷键尽量别写/** 避免冲突。5-注释模板,注意写法是:$key$在includes里面创建一个模板。8-模板里面吧注释信息的取值。
2023-12-12 16:11:20 336
原创 IntelliJ IDEA创建一个spark的项目
在开始之前,需要说明的是 要跑通基本的wordcount程序,是不需要在windows上安装 hadoop 和spark的,因为idea在跑程序的时候,会按照 pom.xml配置文件,从指定的 repository源,按照properties指定的版本,下载dependency中指定的依赖包。如果需要在本地通过-shell,或者 运行开发完的包,那么就需要完整的hadoop 和spark环境,就需要把这两个都安装好。
2023-12-08 15:32:36 1311
原创 Hive SQL的各种join总结
join时的最后一个表会通过reducer流式传输,并在其中缓冲之前的其他表,因此,将大表放置在最后有助于减少reducer阶段缓存数据所需要的内存。包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行 在功能上,它等价于对这两个数据集合分别进行左外连接和右外连接,然后再使用。左表数据全部返回,右表关联上的显示返回,关联不上的显示null返回。(LEFT SEMI JOIN)会返回左边表的记录,前提是其记录对于右边的表满足ON语句中的判定条件。左指的是join关键字左边的表,简称左表。
2023-12-05 16:45:20 1496
原创 hive sql&spark 优化
在数据抽取中常用到从其他数据库抽取数据后数据灌入到hive数据库的情况。大体逻辑是,连接源数据库,抽取数据,缓存转换,数据插入到hive数据库(或者直接覆盖db文件)。中间源数据库的效率和代码质量、抽取数据的服务器资源、数据转换的效率、hive数据的插入sql效率等都是限制数据抽取效率的瓶颈,如何在保证系统稳定的情况下,效的优化各阶段的运行速度,从而整体提高数据抽取的效率,是一个比较大的课题。从三个方面做思考:源数据库优化,抽取过程优化,数据灌入优化。
2023-12-04 19:01:18 380
原创 Scala中的选项(Options )
在Java中使用null,偶尔需要处理它。如果未处理,则可能给出NullPointerException。当接受从函数返回的值时可以使用Option,该函数可以在周期时间返回null,否则返回一些值。这两个值之一是“ none”,其他值可以是程序中有效的任何对象。是一个包含一个值的容器,该值可以是两个不同值之一。不会发生此异常,这就是其用法更有效的原因。在Java编程中Option与。当函数失败时,为空类的实例。一个类的实例,当函数成功时。
2023-11-10 08:39:51 646
原创 使用spark进行递归的可行方案
与一些需求有冲突,比如原需求为递归计算,按照需求扣减现有量,是无法实现的。在ERP中使用pl/sql甚至sql是可以进行炸BOM的,但是怎么使用spark展开,并且效率要不Oracle更高效的展开,是个问题。在实际工作中会遇到,最近有需求将产品炸开bom到底层,但是ERP中bom数据在一张表中递归存储的,不循环展开,是无法知道最底层原材料是什么。优缺点:本质上,并不是递归计算,而是过度有限循环的计算。缺点:一个sql炸到底层,无法添加在炸开过程中的逻辑管控。优点:可行,并可以在每一层进行管快。
2023-11-10 08:29:16 2417 1
原创 spark读取和保存本机文件
还可以设置其他选项来自定义导出的行为,如分区、压缩格式等。- `text("/path/to/output.txt")`指定导出文件的路径和名称。– `option(“header”, “true”)`设置CSV文件的第一行为列名。– `format(“parquet”)`设置导出文件的格式为Parquet。- `format("json")`设置导出文件的格式为JSON。- ut.json")`指定导出文件的路径和名称。– ut.csv”)`指定导出文件的路径和名称。– `的格式为CSV。
2023-11-08 16:04:32 1651
原创 windows idea本地执行spark sql避坑
6. 在idea执行程序,还是会报错,但是错误变了,网上的解释是,缺少文件winutils.exe,从以下地址下载,下载完成后,放到hadoop/bin下面。本地安装了IDEA,并配置好了相关POM,可以在本机使用sparkSession连接数据,并在数据库执行sql,在idea展示执行结果。7. 重启idea,执行代码,还是报错,有点头晕,一狠心,把D:tmp文件夹给删掉了,在执行idea的程序,正常输出了。4. 修改hadoop下的jdk文件路径,修改的时候注意跟进参考文档中修改,否则执行会报错。
2023-11-03 17:34:22 315
原创 本机spark 通idea连接Oracle的坑
也就是写的项目中的pom的spark版本与idea默认的版本不一致。或者修改idea的版本也行吧,这个我没试。版本是2.11的,所以把pom改成2.11.x就可以了。运行环境版本与idea默认的scala版本不一样。解决方法:将po的版本修改成和idea的一致。查询网上资料,是idea引入的。在idea查看scala的版本。
2023-10-27 17:47:59 790
原创 【hive 】时间差(天、小时、分、秒)和常用时间格式转
unix_timestamp()是hive系统时间,格式是timestamp,精确到秒。unix_timestamp(ymdhms)是把时间转换成timestamp格式,是2018-05-23 07:15:50格式。unix_timestamp() - unix_timestamp(ymdhms)是两个时间转换为timestamp之后相减,timestamp单位是秒,相减之后是两个时间之间相差的秒数。
2023-09-18 16:02:04 2823
原创 python程序接收用户输入的方法(含一次输入多行数据)
并且,改行还有一个问题,如果后面还有input等需要用户录入的数据,会报错:EOFError: EOF when reading a line,网上的解释是因为执行了Ctri+D但是没有用户录入,我怀疑是Ctrl+D对后面的input造成了影响,但是还没有好的解决方法,期待后面解决吧。需要注意的是,使用sys.stdin.readlines()函数时,用户必须在输入完成后按下Ctrl+D键才能结束输入。2. 然后,使用sys.stdin.readlines()函数,获取用户输入的文本。
2023-07-05 08:26:56 3554
原创 Oracle ESB的adapter适配器调用EBS的业务事件说明
公司开始上OSB就是Oracle 的ESB产品,有一个很好的功能,可以实时推送消息,又不会对EBS造成太多压力,并且可以避开请求堵塞的情况。就是利用OSB的adapter适配器,订阅EBS的事件,获得消息后在调用对应的EBS程序完成系统数据的传递。但是限于实施公司的能力做的不太好,在上线后遇到了一些坑,我们发现了一些,还有一些问题没有解决,做一下总结。做以下记录:1. 做下业务事件方式集成的开发说明;2. 对遇到的坑做下说明(持续更新)
2023-03-21 09:14:10 538 1
原创 python调用ssh-paramiko¶miko-expect
每次执行shell命令后会关闭会话,下一次调用会打开新的会话,如果执行多条命令可以使用“;”做为分隔符,一次输入执行,如“cd ..;pwd”可以实现移动到上一次文件,打印路径;getFtpfile和putFtpfile的路径为带文件路径,下载路径如果文件夹路径不存在,会报错,需要使用os类检查下,如果不存在则建立该路径。2. 执行ssh命令,但是无法一些环境变量无法执行如 cd $AU_TOP,会没有返回。使用 paramiko 类,可以实现python调用ssh。1. ftp上传下发文件。
2023-02-20 08:06:57 955
原创 python截取字段及按照特殊字符截取字符串
Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。[::] 这种形式 第一个 :代表处理后的字符串,第二个 : 代表着 间隔截取 正数正向输出,负数代表逆向输出。python字符截取可以和字符定位来共同使用,实现按照某些特殊字符截取字符串的目的。截取规则:实际Python字符串截取的规则为“前闭后开”
2023-02-19 09:25:54 3186
原创 Python中字符串String去除出换行符(\n,\r)和空格的问题
所以需要使用 .replace(' ', '') 来替换空格项。用 replace("\n", ""),与 replace("\r", ""),后边的内容替换掉前边的。在Python的编写过程中,获取到的字符串进场存在不明原因的换行和空格,如何整合成一个单句,成为问题。2.使用 .replace('\n', '') 去除换行。1.使用 .strip() 只能够去除字符串首尾的空格,不能够去除中间的空格。\r和\n 都是以前的那种打字机传承来的。
2023-02-19 08:25:57 1515
原创 python在windows调用svn-pysvn
作为EBS开发人员,开发工具用的多,部署代码类型多,管理程序麻烦,操作繁琐,一直是我最讨厌的事情。部署一次程序要使用好几个工具,改来改去,上传下载,实在难受。扣了一下python,打算做一款集成工具,把代码管理、程序部署一步搞下来。中间有几个技术难点需要打通:1. ERP调用linux的ssh执行shell获得源代码,下载到本机2. 将源代码结构化存储并放到svn下,上传svn同步版本3. 调用Jenkins执行部署,将源代码部署到正式环境4. 该操作步骤做记录留底。
2023-02-18 15:13:06 2248
原创 详解EBS接口开发之库存事务处理采购接收和退货
1.1 常用标准表如下表中列出了与采购接收&退货导入相关的表和说明:表名说明其他信息采购接收事务表事务类型,订单分配行相关信息采购接收头表接收单号,供应商,订单号对应视图采购接收行表物料信息,接收组织信息,接收子库,接收数量对应视图mtl_supply可以接收入库的记录对应视图接收科目事件表对应视图接收会计科目表对应视图物料信息表是否启用批次控制对应视图批次信息表物料事务处理子库,事务类型,数量,事务处理时间库存现有量1.2 接口表大体介绍。
2023-02-17 08:13:13 1561
原创 EBS 物料属性 先后台对应关系 MTL_SYSTEM_ITEMS_B
计划方法:mrp_planning_code(未计划:6,MRP计划:3,MPS计划:4,MPS/MRP计划:7,MPS/MPP计划:8,MPP计划:9)序列—生成: serial_number_control_code(不控制:1,接受时:5,发放销售订单时:6,预约义:2)供应类型: wip_supply_type(推式:1,装配拉式:2,工序拉式:3,批量:4,供应商:5,虚拟:6)BOM物料类型:bom_item_type(标准:4,模型:1,选件类:2,计划:3,产品系列:5)
2023-02-16 17:51:08 1464
原创 APP_RECORD.FOR_ALL_RECORDS-form的全选功能及遍历功能
form里面APP_RECORD.FOR_ALL_RECORDS这个命令,可以遍历block中的每一项,准确的说会在块级触发器触发的时候,调用项中对应触发器的程序,实现block中所有行的项的触发功能。比如实现check_box的全选、重新计算表中的行号,批量修改界面行状态等功能。
2023-02-16 10:03:58 571
转载 Oracle R12采购接收流程(PR-PO-RCV-AP-Payment)
采购申请主要涉及以下三张表PO_REQUISITION_HEADERS_ALL,PO_REQUISITION_LINES_ALL,PO_REQ_DISTRIBUTIONS_ALL.lines表和distributions表通过REQUISITION_LINE_ID相互关联,lines distributions。header表和lines表通过REQUISITION_HEADER_ID关联,header lines。
2023-02-16 09:19:45 754
原创 PO接收、检验、入库、退货-Interface+API-请求和在线完成
这个接口能做的事情其实是非常多的,并不像115mfgapi.pdf说的那样,不支持Separate receive and deliver transactions、Corrections、Returns、Receiving against Drop Ship Orders;实际上这些都可以通过接口完成。文档宣称的其他一些“不支持”,还有待进一步测试。参考点内容功能导航并发请求接口表API错误信息表接口Form接口ReportINV:Debug Level(如果有入库)10。
2023-02-10 09:19:42 8349 1
原创 数据库session分析表
V$ACTIVE_SESSION_HISTORY显示数据库中的采样会话活动。如果数据库会话在CPU上或正在等待不属于Idlewait类的事件,则认为该数据库会话处于活动状态。会话引用的对象的对象ID。在很多情况下,当数据库发生性能问题的时候,我们并没有机会来收集足够的诊断信息,比如system state dump或者hang analyze,该视图为每个样本的每个活动会话包含一行,并首先返回最新的会话样本行。如果SESSION_STATE= WAITING,则在采样时会话正在等待的事件。
2023-02-01 09:57:12 1942
原创 DBA常用表说明
说明:数据库对象授权记录表,比如把A用户的PKG的使用授权个B用户。说明:数据库对象表,数据库所有对象说明基本都在这里了。说明:session采样持久记录表,每10秒会把。说明:数据库会话采样记录表,每秒采集一次session信息。说明:角色用户可用权限记录表。说明:数据库用户基本信息表。说明:角色用户的权限记录。说明:活跃的session信息;数据记录下来,做持久。
2023-02-01 08:14:16 735
原创 Oracle 程序被编译后自动增加了AUTHID CURRENT_USER授权
如果update_id没有使用AUTHID CURRENT_USER声明,会更新A用户的test_user数据,B用户的test_user的数据无变化。如果update_id有使用AUTHID CURRENT_USER声明,会更新B用户的test_user数据,A用户的test_user的数据无变化。也就是说AUTHID CURRENT_USER只能操作本次连接的数据库用户下的对象,无法跨数据库用户操作数据库对象。今天遇到一个大坑,新建的一个数据库用户调用apps下的程序包,反馈未授权无法使用。
2023-01-31 18:18:47 488
原创 详解EBS接口开发之库存事务处理采购接收和退货
1.1 常用标准表如下表中列出了与采购接收&退货导入相关的表和说明:表名说明其他信息采购接收事务表事务类型,订单分配行相关信息采购接收头表接收单号,供应商,订单号对应视图采购接收行表物料信息,接收组织信息,接收子库,接收数量对应视图mtl_supply可以接收入库的记录对应视图接收科目事件表对应视图接收会计科目表对应视图物料信息表是否启用批次控制对应视图批次信息表物料事务处理子库,事务类型,数量,事务处理时间库存现有量1.2 接口表大体介绍。
2023-01-28 09:52:42 1922
原创 HR相关表
也关联Xle_Registrations.Source_Id,Reg.Source_Table(+) = 'XLE_ENTITY_PROFILES' AND Reg.Identifying_Flag(+) = 'Y'比起Xle_Entity_Profiles,Gl_Ledger_Config_Details反而更重要的样子。对应Xle_Entity_Profiles.Legal_Entity_Id,也就是法人实体id。主键:organization_id。主键:organization_id。
2023-01-18 15:38:23 671
原创 根据文字匹配返回对应行的坐标所在值
如果我当前行“级别加权”页签范围获取数据,列为3,行为当前页签R10在页签“级别加权”中D10到D54范围内的行数。match(B2,A1:A30,0):返回B2在A1~A30里的位置,值为1~30,如果没有则返回0。index(A1:C10,2,7):在A1到C10的范围内,找到横坐标=2,纵坐标(列)=7的值。$D$10:$D$45,0),3)注意,因为INDEX和MATCH的坐标都是以所选择范围内的,所以他们的选择范围开始行一般都在同一行。match(范围,比对的值,比对的列范围)
2023-01-13 16:42:34 656
ORACLE ERP开发基础.pdf
2021-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人