通过spark-redshift查询红移并不快

时间:2016-11-27 00:28:32

标签: pyspark-sql

我使用pyspark-redshift通过pyspark连接到Redshift,即

    sparkConf = SparkConf()
    sc = SparkContext(conf=sparkConf)
    sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", 'AWS_KEY_ID')
    sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", 'AWS_KEY')
    sql_context = SQLContext(sc)
    sql_context.getConf("spark.sql.shuffle.partitions", u"5")

df = sql_context.read \
    .format("com.databricks.spark.redshift") \
    .option("url", "jdbc:redshift://example.redshift.amazonaws.com:5439/agcdb?user=user&password=pwd") \
    .option("dbtable", "table_name") \
    .option('forward_spark_s3_credentials',True) \
    .option("tempdir", "s3n://bucket") \
    .load() 

当我比较查询的运行时间时,例如pyspark和Redshift直接300k行我发现没有区别。

我读到配置 spark.sql.shuffle.partitions 应该更改为小于默认值= 200,具体取决于数据帧的大小。

我应该检查哪些重要配置/哪些人看到有所作为?

0 个答案:

没有答案