巨坑!!华为大数据平台sparksql,连接gauss200数据库
最近用华为大数据平台fusion6.5平台,写了一个sparksql 读取gauss200的MPP数据库的程序。
首先将spark 相关的jar依赖包,必须在华为大数据平台的客户端的spark/jars 这个文件里面去找到然后添加到idea 依赖里面。打包要把整体包打在里面。
核心代码片段如下:
SparkConf sparkConf = new SparkConf().setAppName("SparkKafkaStreamingExample");
SparkSession spark = SparkSession.builder().config(sparkConf).getOrCreate();
Dataset<Row> result = spark.read()
.format("jdbc")
.option("url", "jdbc:gaussdb://192.168.1.1:25308/exam")
.option("dbtable", "(" + sqlQuery + ") as temp_table")
.option("user", cdjz)
.option("driver","com.huawei.gauss200.jdbc.Driver")
.option("password", 123321)
.load();
然后编译打包。
①先下载华为大数据客户端,
②然后tar -xvf xxx.tar 解压到/path/clientpath
③然后./install.sh /home/client
④认证 kinit -k cdjz -t user.keytab
⑤然后在source /home/client/bigdata_env
⑥用spark-submit 提交代码如下:
spark-submit \
--master yarn \ 运行的模式
--deploy-mode cluster \
--name spark-test \ 在yarn界面看到的名字,如果不设置,那就是下面-class的值
--driver-memory 1g \ driver的内存
--executor-memory 1g \ 每一个executor的内存
--executor-cores 1 \ executor数量
--jars /$SPARKHOME/jars/guass200.jar 第三方jar,比高斯数据库的驱动
--class com.bigdata.spark.core.SparkRunTest \ 主类
study-spark-core-4.0.0.jar \ 自己工程的jar
一个非常注意点的是华为的大数据平台里面的mpp的jar包是有问题的
必须在spark里面手动指定driver ,和修改jdbc的连接字符串为jdbc:guassdb,并且保持版本一致。
原文地址:https://blog.csdn.net/aismt/article/details/142332485
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!