这是一个创建于 267 天前的主题,其中的信息可能已经有所发展或是发生改变。
场景如下:
供应商有一个 sql sever db 在 azure 上,我们只有读权限,上面有上 TB 的 data (比如 10TB )
现在我要做一个 source 基于这个 db 的 ETL pipeline (用 spark 处理)
目前看来有两种选择:
1. 直接 spark jdbc 连接 db 在里面用 query 读数据做 transformation
疑虑:直接在 sparksession 上写 query 会不会性能很差,或者 OOM 问题
2. 把数据 extract 出来成 parquet 放入云储存(比如 S3),然后 spark 做 ETL
extract 我查了一下可以用 spark 或者 sqoop
不知道那种更合适
不知道有没有大佬指点一下
4 条回复 • 2023-08-10 13:07:32 +08:00
|
|
1
netnr 267 天前 via Android
推荐用 DataReader 逐行读取处理
|
|
|
3
netnr 266 天前 via Android
那就每个节点读取分页,比如有 1 亿条数据,十个节点,每个节点读取 1 千万条
|