巨坑!!华为大数据平台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,并且保持版本一致。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值