Помогите мне получить оптимизированную производительность при чтении данных из красного смещения.
Вариант 1. Я выгружаю данные из таблицы в папку S3, а затем считываю их как фрейм данных
Optin2: я использую sqlContext read.
Объем моих данных в настоящее время меньше, но ожидается рост в ближайшие месяцы, поэтому, когда я попробовал оба варианта, это заняло почти одинаковое время.
Опция: 1
unload ('select * from sales_hist')
to 's3://mybucket/tickit/unload/sales_'
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';
hist_output_table_df = spark.read.format(config['reader_format'])\
.option('header', config['reader_header'])\
.option('delimiter', config['reader_delimiter'])\
.csv(s3_directory + config['reader_path'])
читатель_путь совпадает с каталогом, как выгружено выше.
Опция: 2
hist_output_table_df = sqlContext.read.\
format("com.databricks.spark.redshift")\
.option("url",jdbcConnection)\
.option("tempdir", tempS3Dir)\
.option("dbtable", table_name)\
.option("aws_iam_role",aws_role).load()
Есть ли стоимостьЗначение между двумя подходами