Amazon web services 如何使用Spark创建红移表?

Amazon web services 如何使用Spark创建红移表?,amazon-web-services,apache-spark,pyspark,amazon-redshift,Amazon Web Services,Apache Spark,Pyspark,Amazon Redshift,这在Spark中起作用: df = spark.read \ .format('jdbc') \ .option("url", "jdbc:redshift://redshift-cluster-xyz.redshift.amazonaws.com:5439/dev") \ .option("user", "myuser") \ .option("password", "mypass") \ .option("query", "select distinct(tablena

这在Spark中起作用:

df =  spark.read \
  .format('jdbc') \
  .option("url", "jdbc:redshift://redshift-cluster-xyz.redshift.amazonaws.com:5439/dev") \
  .option("user", "myuser") \
  .option("password", "mypass") \
  .option("query", "select distinct(tablename) from pg_table_def where schemaname = 'public' ") \
  .load().show()
这失败了:

spark.read \
  .format('jdbc') \
  .option("url", "jdbc:redshift://redshift-cluster-xyz.redshift.amazonaws.com:5439/dev") \
  .option("user", "myuser") \
  .option("password", "mypass") \
  .option("query", 'CREATE TABLE product (c1 real) ') \
  .load()
获取错误:
原因:com.amazon.support.exceptions.ErrorException:[amazon](500310)无效操作:在“创建”处或附近出现语法错误

我也试过用双引号


如何在指定数据类型的情况下使用Spark在红移中创建表?

使用dbtable选项not query,我认为这是用于读取数据的。这不是真的。您可以这样运行查询。问题出在网络和VPC上。@Joe:我试图使用CTAS语句通过spark从redshift中的现有表创建表,它抛出了这个错误。有指针吗?使用dbtable选项not query,我认为这是用于读取数据的。这不是真的。您可以这样运行查询。问题出在网络和VPC上。@Joe:我试图使用CTAS语句通过spark从redshift中的现有表创建表,它抛出了这个错误。有什么建议吗?