如何使用Pyspark从VerticaDB获取数据

fnatzsnv  于 2022-11-01  发布在  Spark
关注(0)|答案(1)|浏览(163)

我尝试使用pyspark从VerticaDb获取数据,但出现了名为“类未找到异常”的错误。
错误:Py4Java错误:调用o165.load时出错。原因:java.lang.ClassNotFoundException:找不到数据源:数据源.垂直数据源
我的代码是:

from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext, SparkSession
from pyspark import sql

# Create the spark session

spark = SparkSession \
    .builder \
    .appName("Vertica Connector Pyspark Example") \
    .getOrCreate()
spark_context = spark.sparkContext
sql_context = sql.SQLContext(spark_context)

# The name of our connector for Spark to look up

format = "com.vertica.spark.datasource.VerticaSource"

# Set connector options based on our Docker setup

table = "*****"
db = "*****"
user = "********"
password = "********"
host = "******"
part = "1";
staging_fs_url="****"

# spark.read.format("com.vertica.spark.datasource.VerticaSource").options(opt).load()

readDf = spark.read.load(
 # Spark format
 format=format,
 # Connector specific options
 host=host,
 user=user,
 password=password,
 db=db,
 table=table)

# Print the DataFrame contents

readDf.show()

谢谢

ktca8awb

ktca8awb1#

这是关于如何在Spark中启用Vertica作为数据源的官方文档。
用于Apache Spark的Vertica连接器被打包为JAR文件。您可以在Spark集群上安装此文件,以使Spark和Vertica能够交换数据。除了连接器JAR文件外,您还需要Vertica JDBC客户端库。连接器使用此库连接到Vertica数据库。
这两个库都随Vertica服务器一起安装,并可在Vertica集群中的所有节点上的以下位置获得:
Spark连接器文件位于/opt/vertica/packages/SparkConnector/lib中。
JDBC客户端库的文件名为/opt/vertica/java/vertica-jdbc.jar。
确保Vertica JDBC jar被复制到Spark库路径。
Getting the Spark Connector
Deploying the Vertica Connector for Apache Spark

相关问题