相关链接:基于waterdrop,从oracle直接拉取数据进仓Clickhouse_Johnwick888的博客-CSDN博客
继之前基于waterdrop,从orcale直接抽取数据到Clickhouse之后,又遇到从hive抽取数据到Oracle的需求,相关jdbc驱动配置见上面连接,Oracle相关jdbc驱动下载链接如下:JDBC and UCP Downloads page
记得下跟自己Oracle版本一致的jdbc驱动。
waterdrop的配置文件如下,batch.conf :
spark { spark.app.name = "seatunnel" spark.sql.catalogImplementation = "hive" spark.executor.instances = 2 spark.executor.cores = 2 spark.executor.memory = "4g" } input { hive { pre_sql =" select * from XXXX_mdtrt_info" result_table_name = "spark_temp" } } filter { # sql { # sql = "select * from accesslog where request_time > 1000" # } } output { # choose stdout output plugin to output data to console jdbc { driver = "oracle.jdbc.driver.OracleDriver" url = "jdbc:oracle:thin:@//XX.XX.XX.XX:XX/orclpdb1" table = "XXXX_MDTRT_INFO" user = "*******" password = "******" } }
然后执行代码:
/waterdrop-1.5.4/bin/start-waterdrop.sh --master spark://hadoop-master:7077 --deploy-mode client --config batch.conf
抽取速度很快,550W的数据量,大概2分钟完成。
至此我也发现,为什么数据湖和ODS层尽量用hadoop生态的分布式文件系统来存储了,因为从hive或者HDFS抽数据到数仓或者其他平台速度非常快,而从其他平台抽数据到hive内,则非常慢,原因就是数据源不是分布式的,读取速度受到局限。
所以,建议各位数据相关岗位的伙伴,在设计数据架构的时候,一定注意,平台之间相互导数据是一件极其容易忽略,但特别费事的工作,需要科学谋划。
另外,Waterdrop,现在改名叫Seatunnel,已经正式成为Apache的顶级项目,Sqoop、DataX等一大批ETL工具都将退出历史舞台,建议提前适应Waterdrop,为将来打算。
你问我DataX是谁?对不起,我活在Apache SeaTunnel的时代!
附上waterdrop(seatunnel)的学习网站:
document
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)