自学内容网 自学内容网

巨坑!!华为大数据平台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)!