写一个Spark DataSource的随手笔记

4 篇文章 1 订阅
1 篇文章 0 订阅

真的只是个随手笔记。记录下一些操作过程。

背景

最近需要实现一些Spark逻辑计划和物理计划的优化,遂打算写一点简单的数据源来测试。突然想到了Oracle常见的scott/tiger里的数据。遂打算使用该数据。

获得数据

毕竟装Oracle是个大工程,没有必要为了做个测试单独安装一个Oracle,于是用Docker,这里推荐一下阿里的Docker Oracle镜像库:

https://dev.aliyun.com/detail.html?spm=5176.1972343.2.2.2f075aaaGOYe3m&repoId=1969

按照其方式启动Oracle镜像并sqlplus登录sysdba以后,为了确保scott/tiger没有被锁,还是做了一下解锁操作:

SQL> alter user scott account unlock;

然后退出sqlplus并用scott/tiger重新登录sysdba,并且查看scott的表:

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE

没有问题。

在此只做一些简单的测试,所以并没有使用jdbc方式在test类里获取数据,而是直接拿了一些数据hard code在test类里。

写Spark DataSource API

实现了简单的谓词下推功能。详细Datasource代码见GitHub,里面还包含了一个tpc-ds的DataSource:

https://github.com/orisonchan/spark-datasource-some-examples

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值