真的只是个随手笔记。记录下一些操作过程。
背景
最近需要实现一些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
作者:orisonchan
链接:https://www.jianshu.com/p/3d0abe98ca3b
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦