小编Smi*_*ith的帖子

如何管理冲突的DataProc Guava,Protobuf和GRPC依赖项

我正在执行scala Spark作业,该作业需要使用Java库(youtube / vitess),该库依赖于比DataProc 1.1当前提供的GRPC(1.01),Guava(19.0)和Protobuf(3.0.0)更高的版本。图片。

当在本地运行项目并使用maven进行构建时,将加载这些依赖项的正确版本,作业将无问题运行。将作业提交给DataProc时,首选这些库的DataProc版本,并且该作业将引用无法解析的类函数。

在DataProc上提交Spark作业时,如何确保加载正确版本的依赖项依赖关系的推荐方法是什么?我无法重写此库的组件,以使用DataProc提供的这些软件包的旧版本。

apache-spark google-hadoop google-cloud-dataproc vitess

5
推荐指数
1
解决办法
724
查看次数

从JDBC创建spark数据帧时如何指定sql方言?

我在使用 Spark 通过自定义 JDBC 读取数据时遇到问题。我将如何覆盖通过 jdbc url 推断的 sql 方言?

有问题的数据库是 vitess ( https://github.com/youtube/vitess ),它运行一个 mysql 变体,所以我想指定一个 mysql 方言。jdbc url 以 jdbc:vitess/ 开头

否则 DataFrameReader 会推断默认方言使用 """ 作为引用标识符。因此,通过 spark.read.jdbc 的查询被发送为

从表中选择“id”、“col2”、“col3”、“etc”

它选择字符串表示而不是列值而不是

从表中选择 id、col2、col3 等

jdbc apache-spark apache-spark-sql apache-spark-2.0 vitess

3
推荐指数
1
解决办法
3644
查看次数