当前位置: 首页 > 知识库问答 >
问题:

将PySpark连接到AWS红移时出错

从渊
2023-03-14

我一直在尝试将我的EMR5.11.0集群上的Spark 2.2.1连接到我们的Redshift商店。

我遵循的方法是-

pyspark --jars /usr/share/aws/redshift/jdbc/RedshiftJDBC41.jar

from pyspark.sql import SQLContext
sc
sql_context = SQLContext(sc)

redshift_url = "jdbc:redshift://HOST:PORT/DATABASE?user=USER&password=PASSWORD"

redshift_query  = "select * from table;"

redshift_query_tempdir_storage = "s3://personal_warehouse/wip_dumps/"        

# Read data from a query
df_users = sql_context.read \
    .format("com.databricks.spark.redshift") \
    .option("url", redshift_url) \
    .option("query", redshift_query) \
    .option("tempdir", redshift_query_tempdir_storage) \
    .option("forward_spark_s3_credentials", "true") \
    .load()

谢了!

共有1个答案

钱睿范
2023-03-14

我必须在EMR spark-submit选项中包含4个jar文件才能使其工作。

jar文件列表:

1.RedShiftJDBC41-1.2.12.1017.jar

--jars s3://<pathToJarFile>/RedshiftJDBC41-1.2.10.1009.jar,s3://<pathToJarFile>/minimal-json-0.9.4.jar,s3://<pathToJarFile>/spark-avro_2.11-3.0.0.jar,s3://<pathToJarFile>/spark-redshift_2.10-2.0.0.jar

最后查询红移,如本例所示:spark代码中的spark-redshift-example。

 类似资料:
  • 我感兴趣的是将Anylogic 8.6中的模型链接到红移数据库中的表/视图。这将允许模型自动获取新数据,以定义我们的人口和运行,从而实现更好的运营决策(即,我们预期明天会发生什么,明天总是在变化)。 此版本与excel电子表格或SQL Server数据库具有本机连接。FAQ中有一个链接到MySQL的分步指南。我已经将本指南改编为红移,但我不清楚如何让连接真正启动,或者如何测试它是否真的有效。 以下

  • 我正在尝试使用spring cloud AWS将AWS SQS集成到我的springboot应用程序中,但是不断出现这个错误(发布在下面),有人能帮忙吗? 这是我的档案。 org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/cloud/aws/messaging/config/ann

  • 我正试图使用Postgre JDBC驱动程序从SQL Workbench/J连接到红移数据库,但我无法通过。我收到这个错误“连接尝试失败”。jdbc驱动程序的位置正确。我还尝试通过Aginity Workbench进行红移,但它无法显示数据库列表。我有一个连接数据库的url,格式是但令人惊讶的是,我甚至无法ping主机。我可以通过amazon控制台看到数据库的健康状况良好。所以,我的问题是: 为什

  • 我想分析一个运行在JBoss 4上的Java EE应用程序。我使用Ubuntu。Java 1.5。JProfiler 8.0.1。服务器是Jboss 4。一旦我将主机设置为localhost并尝试分析新会话- 编辑:显示JProfiler的错误日志文件。

  • mongo“mongoDB+srv://sandbox-hoj54.mongodb.net/test”--authenticationdatabase admin--用户名M001-student--密码m001-mongodb-basics 2020-06-19T14:18:02.553+0530 E QUERY[js]未捕获异常:语法错误:意外标记:字符串文字:@(shell):1:6

  • 为什么AWS SQS不是Apache Flink的默认连接器?这样做有技术限制吗?还是只是一些没有完成的事情?我想实现这一点,任何指点都将不胜感激