提交 203a4eb5 编写于 作者: K Kuien Liu 提交者: Adam Lee

s3ext: make s3 regression tests parallel

The regression was executed serially from the beginning
of construction, as time going, more tests are accumulated,
which consume much time on Concourse/Pipeline. So we modify
these tests and run them with parallel schedule.
上级 f1afa4f4
......@@ -47,9 +47,9 @@ map<char, string> parseCommandLineArgs(int argc, char *argv[]) {
case 'u':
if (optarg == NULL) {
optionPairs[opt] = "";
} else if (optind + 1 == argc) {
optionPairs['f'] = optarg;
optionPairs['u'] = argv[optind];
} else if (optind + 1 == argc) { // has two option values
optionPairs['f'] = optarg; // value of option file
optionPairs['u'] = argv[optind]; // value of option url
} else {
fprintf(stderr, "Failed. Invalid arguments for -u, please check.\n\n");
printUsage(stderr);
......
......@@ -6,6 +6,7 @@ read_prefix := s3test\.pivotal\.io\/regress
write_prefix := s3test\.pivotal\.io\/regress\/s3write\/$(shell date +%Y%m%d)-$(shell cat /dev/urandom | env LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1)
installcheck:
@echo "[ Regression starts:" `date`
@echo "The sub-directory for this test instance is: $(write_prefix)"
@rm -rf source_replaced
@mkdir -p source_replaced
......@@ -14,6 +15,7 @@ installcheck:
@sed -ie 's/@config_file@/$(config_file)/;s/@read_prefix@/$(read_prefix)/;s/@write_prefix@/$(write_prefix)/' source_replaced/input/*.source
@sed -ie 's/@config_file@/$(config_file)/;s/@read_prefix@/$(read_prefix)/;s/@write_prefix@/$(write_prefix)/' source_replaced/output/*.source
-$(top_builddir)/src/test/regress/pg_regress --psqldir=$$GPHOME/bin/ --schedule=s3_regress_schedule --init-file=$(top_builddir)/src/test/regress/init_file --srcdir=source_replaced --inputdir=source_replaced --outputdir=.
@echo "Regression ends:" `date` ]
clean:
rm -rf source_replaced sql expected results regression.* optimizer_status.out
......
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_normal (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress_normal;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_normal;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_1_02 (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/ config=@config_file@') FORMAT 'text' ( DELIMITER ',' NULL '') LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT count(*) FROM s3regress;
SELECT gp_read_error_log('s3regress');
DROP EXTERNAL TABLE s3regress;
SELECT count(*) FROM s3regress_1_02;
SELECT gp_read_error_log('s3regress_1_02');
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_1_02;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_1_03 (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/baddata/ config=@config_file@') format 'csv' LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_1_03;
-- start_ignore
SELECT gp_read_error_log('s3regress');
SELECT gp_read_error_log('s3regress_1_03');
-- end_ignore
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_1_03;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_empty_prefix (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/emptyfile/ config=@config_file@') format 'csv' LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT count(*) FROM s3regress;
SELECT gp_read_error_log('s3regress');
DROP EXTERNAL TABLE s3regress;
SELECT count(*) FROM s3regress_empty_prefix;
SELECT gp_read_error_log('s3regress_empty_prefix');
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_empty_prefix;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_oneline (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/oneline/ config=@config_file@') format 'csv';
SELECT count(*) FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) FROM s3regress_oneline;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_oneline;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_1r_1w (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/1correct1wrong/ config=@config_file@') format 'csv' LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_1r_1w;
-- start_ignore
SELECT gp_read_error_log('s3regress');
SELECT gp_read_error_log('s3regress_1r_1w');
-- end_ignore
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_1r_1w;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE READABLE EXTERNAL TABLE s3regress_huge_bad (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/hugefile/airlinedata2.csv config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
SELECT count(*) FROM s3regress_huge_bad;
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/hugefile/airlinedata2.csv config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
SELECT count(*) FROM s3regress;
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_huge_bad;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE READABLE EXTERNAL TABLE s3regress_huge_correct (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/hugefile_correct_data/airlinedata1.csv config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
SELECT count(*) FROM s3regress_huge_correct;
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/hugefile_correct_data/airlinedata1.csv config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
SELECT count(*) FROM s3regress;
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_huge_correct;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE TABLE stock (date text, time text, open float, high float, low float, volume int) DISTRIBUTED BY (date) PARTITION BY RANGE (volume)
(
PARTITION stock10000 START (10000) INCLUSIVE,
......@@ -28,5 +19,3 @@ SELECT count(*) FROM stock;
DROP TABLE ext_stock000;
DROP TABLE stock;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-east-1.amazonaws.com/us-east-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-1.amazonaws.com/us-west-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-south-1.amazonaws.com/ap-south-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-northeast-2.amazonaws.com/ap-northeast-2.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-southeast-1.amazonaws.com/ap-southeast-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-southeast-2.amazonaws.com/ap-southeast-2.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-northeast-1.amazonaws.com/ap-northeast-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-eu-central-1.amazonaws.com/eu-central-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-eu-west-1.amazonaws.com/eu-west-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
\d s3regress_all_regions
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP EXTERNAL TABLE s3regress;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-sa-east-1.amazonaws.com/sa-east-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
SELECT round(sum(open)) FROM s3regress;
\d s3regress_all_regions
DROP EXTERNAL TABLE s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_gzip (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/gzipped_normal1/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress_gzip;
CREATE READABLE EXTERNAL TABLE s3regress (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/gzipped_2002and2003/ config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
DROP EXTERNAL TABLE s3regress_gzip;
SELECT count(*) FROM s3regress;
CREATE READABLE EXTERNAL TABLE s3regress_gzip (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/gzipped_2002and2003/ config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) FROM s3regress_gzip;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_gzip;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_noprefix (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-northeast-1.amazonaws.com/ap-northeast-1.s3test.pivotal.io config=@config_file@') FORMAT 'csv';
SELECT round(sum(open)) FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT round(sum(open)) FROM s3regress_noprefix;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_noprefix;
-- start_ignore
CREATE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
-- end_ignore
DROP EXTERNAL TABLE parallel1;
CREATE READABLE EXTERNAL TABLE parallel1 (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM parallel1;
DROP EXTERNAL TABLE parallel1;
-- start_ignore
DROP PROTOCOL s3;
-- end_ignore
-- start_ignore
CREATE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
-- end_ignore
DROP EXTERNAL TABLE parallel2;
CREATE READABLE EXTERNAL TABLE parallel2 (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM parallel2;
DROP EXTERNAL TABLE parallel2;
-- start_ignore
DROP PROTOCOL s3;
-- end_ignore
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_thousands_files (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/2001files/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress_thousands_files;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_thousands_files;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date float, time float, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_invalid_syntax (date float, time float, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/xac config=@config_file@') format 'csv';
SELECT count(*) FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) FROM s3regress_invalid_syntax;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_invalid_syntax;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_invalid_region (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://neverland.amazonaws.com/wherever/whatever/ config=@config_file@') format 'csv';
SELECT count(*) FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) FROM s3regress_invalid_region;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_invalid_region;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_invalid_config (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/') format 'csv';
SELECT count(*) FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) FROM s3regress_invalid_config;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_invalid_config;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_invalid_header (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/csv_with_header/ config=@config_file@') format 'csv';
SELECT count(*) FROM s3regress;
DROP EXTERNAL TABLE s3regress;
SELECT count(*) FROM s3regress_invalid_header;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_invalid_header;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
writefunc = write_to_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE WRITABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE WRITABLE EXTERNAL TABLE s3regress_create_wet (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/create/ config=@config_file@') FORMAT 'csv';
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_create_wet;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_quick_read;
DROP EXTERNAL TABLE IF EXISTS s3write_quick_write;
CREATE READABLE EXTERNAL TABLE s3write_quick_read (date text, time text, open float, high float, low float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/quick/ config=@config_file@') FORMAT 'csv';
......@@ -26,5 +12,3 @@ SELECT * FROM s3write_quick_read;
DROP EXTERNAL TABLE IF EXISTS s3write_quick_read;
DROP EXTERNAL TABLE IF EXISTS s3write_quick_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_bulk_read;
DROP EXTERNAL TABLE IF EXISTS s3write_bulk_write;
CREATE READABLE EXTERNAL TABLE s3write_bulk_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/bulk/ config=@config_file@') FORMAT 'csv';
......@@ -32,5 +18,3 @@ SELECT min(volume), max(volume), count(*) FROM s3write_bulk_read;
DROP EXTERNAL TABLE IF EXISTS s3write_bulk_read;
DROP EXTERNAL TABLE IF EXISTS s3write_bulk_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_mixed_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixed_write;
CREATE READABLE EXTERNAL TABLE s3write_mixed_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/mixed/ config=@config_file@') FORMAT 'csv';
......@@ -52,5 +38,3 @@ SELECT min(volume), max(volume), count(*) FROM s3write_mixed_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixed_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixed_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_read;
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_write;
CREATE READABLE EXTERNAL TABLE s3write_ret2wet_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/ret2wet/ config=@config_file@') FORMAT 'csv';
......@@ -38,5 +24,3 @@ DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_read;
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_write;
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_read_new;
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_write_new;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_read;
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_write;
CREATE READABLE EXTERNAL TABLE s3write_special_characters_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/?:&=+/ config=@config_file@') FORMAT 'csv';
......@@ -38,5 +24,3 @@ DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_read;
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_write;
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_read_new;
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_write_new;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_lots_of_files_read;
DROP EXTERNAL TABLE IF EXISTS s3write_lots_of_files_write;
CREATE READABLE EXTERNAL TABLE s3write_lots_of_files_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/lotsoffiles/ config=@config_file@') FORMAT 'csv';
......@@ -42,5 +28,3 @@ select min(volume), max(volume), count(volume) from s3write_lots_of_files_read;
DROP FUNCTION write_lots_of_files (integer);
DROP EXTERNAL TABLE IF EXISTS s3write_lots_of_files_read;
DROP EXTERNAL TABLE IF EXISTS s3write_lots_of_files_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_join_query_read;
DROP EXTERNAL TABLE IF EXISTS s3write_join_query_write;
CREATE READABLE EXTERNAL TABLE s3write_join_query_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/joinquery/ config=@config_file@') FORMAT 'csv';
......@@ -29,8 +15,5 @@ INSERT INTO s3write_join_query_write SELECT * FROM s3write_local_joinquery;
SELECT count(*) FROM s3write_join_query_read remote, s3write_local_joinquery local
WHERE remote.volume = local.volume;
DROP EXTERNAL TABLE IF EXISTS s3write_join_query_read;
DROP EXTERNAL TABLE IF EXISTS s3write_join_query_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
writefunc = write_to_s3
);
DROP EXTERNAL TABLE s3regress;
CREATE WRITABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE WRITABLE EXTERNAL TABLE s3regress_create_invalid_wet (date text, time text, open float, high float,
low float, volume int) FORMAT 'csv';
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_create_invalid_wet;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_write;
CREATE READABLE EXTERNAL TABLE s3write_mixedfmt_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/mixedfmt/ config=@config_file@') FORMAT 'csv';
......@@ -50,5 +36,3 @@ SELECT * FROM s3write_mixedfmt_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_write_csv;
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_write_txt;
DROP PROTOCOL s3;
DROP PROTOCOL s3;
DROP FUNCTION IF EXISTS read_from_s3();
DROP FUNCTION IF EXISTS write_to_s3();
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_normal (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress;
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress_normal;
count | sum | avg
----------+------------+-----
31033039 | 1490754474 | 48
(1 row)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_normal;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_1_02 (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/ config=@config_file@') FORMAT 'text' ( DELIMITER ',' NULL '') LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_1_02;
count
----------
31033039
(1 row)
SELECT gp_read_error_log('s3regress');
SELECT gp_read_error_log('s3regress_1_02');
gp_read_error_log
-------------------
(0 rows)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_1_02;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_1_03 (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/baddata/ config=@config_file@') format 'csv' LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_1_03;
NOTICE: Found 3 data formatting errors (3 or more input rows). Rejected related input data.
count
-------
......@@ -15,14 +8,13 @@ NOTICE: Found 3 data formatting errors (3 or more input rows). Rejected related
(1 row)
-- start_ignore
SELECT gp_read_error_log('s3regress');
SELECT gp_read_error_log('s3regress_1_03');
gp_read_error_log
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
("Thu Jul 14 23:21:15.952755 2016 PDT",s3regress,"s3://s3-us-west-2.amazonaws.com/@read_prefix@/baddata/ config=@config_file@",3,,"missing data for column ""low""","09/28/2009,09:30:06,35.49,35.37",)
("Thu Jul 14 23:21:15.953821 2016 PDT",s3regress,"s3://s3-us-west-2.amazonaws.com/@read_prefix@/baddata/ config=@config_file@",2,,"missing data for column ""volume""","10/05/2009,36.19,36.18,36.2,100",)
("Thu Jul 14 23:21:15.953821 2016 PDT",s3regress,"s3://s3-us-west-2.amazonaws.com/@read_prefix@/baddata/ config=@config_file@",4,,"missing data for column ""low""","10/05/2009,11:56:50,36.21,200",)
("Thu Jul 14 23:21:15.952755 2016 PDT",s3regress_1_03,"s3://s3-us-west-2.amazonaws.com/@read_prefix@/baddata/ config=@config_file@",3,,"missing data for column ""low""","09/28/2009,09:30:06,35.49,35.37",)
("Thu Jul 14 23:21:15.953821 2016 PDT",s3regress_1_03,"s3://s3-us-west-2.amazonaws.com/@read_prefix@/baddata/ config=@config_file@",2,,"missing data for column ""volume""","10/05/2009,36.19,36.18,36.2,100",)
("Thu Jul 14 23:21:15.953821 2016 PDT",s3regress_1_03,"s3://s3-us-west-2.amazonaws.com/@read_prefix@/baddata/ config=@config_file@",4,,"missing data for column ""low""","10/05/2009,11:56:50,36.21,200",)
(3 rows)
-- end_ignore
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_1_03;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_empty_prefix (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/emptyfile/ config=@config_file@') format 'csv' LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_empty_prefix;
count
-------
0
(1 row)
SELECT gp_read_error_log('s3regress');
SELECT gp_read_error_log('s3regress_empty_prefix');
gp_read_error_log
-------------------
(0 rows)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_empty_prefix;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_oneline (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/oneline/ config=@config_file@') format 'csv';
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_oneline;
count
-------
1
(1 row)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_oneline;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_1r_1w (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/1correct1wrong/ config=@config_file@') format 'csv' LOG ERRORS SEGMENT REJECT LIMIT 5;
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_1r_1w;
NOTICE: Found 1 data formatting errors (1 or more input rows). Rejected related input data.
count
-------
......@@ -15,12 +8,11 @@ NOTICE: Found 1 data formatting errors (1 or more input rows). Rejected related
(1 row)
-- start_ignore
SELECT gp_read_error_log('s3regress');
SELECT gp_read_error_log('s3regress_1r_1w');
gp_read_error_log
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
("Thu Jul 14 23:21:17.915597 2016 PDT",s3regress,"s3://s3-us-west-2.amazonaws.com/@read_prefix@/1correct1wrong/ config=@config_file@",2,,"extra data after last expected column","whatever,09/28/2009,09:10:37,35.6,35.29,35.75,150,wherever",)
("Thu Jul 14 23:21:17.915597 2016 PDT",s3regress_1r_1w,"s3://s3-us-west-2.amazonaws.com/@read_prefix@/1correct1wrong/ config=@config_file@",2,,"extra data after last expected column","whatever,09/28/2009,09:10:37,35.6,35.29,35.75,150,wherever",)
(1 row)
-- end_ignore
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_1r_1w;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/hugefile/airlinedata2.csv config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
SELECT count(*) FROM s3regress;
CREATE READABLE EXTERNAL TABLE s3regress_huge_bad (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/hugefile/airlinedata2.csv config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
SELECT count(*) FROM s3regress_huge_bad;
NOTICE: Found 2880938 data formatting errors (2880938 or more input rows). Rejected related input data.
count
----------
43983514
(1 row)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_huge_bad;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/hugefile_correct_data/airlinedata1.csv config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
SELECT count(*) FROM s3regress;
CREATE READABLE EXTERNAL TABLE s3regress_huge_correct (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/hugefile_correct_data/airlinedata1.csv config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
SELECT count(*) FROM s3regress_huge_correct;
count
----------
47925074
(1 row)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_huge_correct;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE TABLE stock (date text, time text, open float, high float, low float, volume int) DISTRIBUTED BY (date) PARTITION BY RANGE (volume)
(
PARTITION stock10000 START (10000) INCLUSIVE,
......@@ -35,4 +28,3 @@ SELECT count(*) FROM stock;
DROP TABLE ext_stock000;
DROP TABLE stock;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-east-1.amazonaws.com/us-east-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -23,17 +16,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-us-east-1.amazonaws.com/us-east-1.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-1.amazonaws.com/us-west-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -48,17 +41,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-us-west-1.amazonaws.com/us-west-1.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-south-1.amazonaws.com/ap-south-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -73,17 +66,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-ap-south-1.amazonaws.com/ap-south-1.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-northeast-2.amazonaws.com/ap-northeast-2.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -98,17 +91,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-ap-northeast-2.amazonaws.com/ap-northeast-2.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-southeast-1.amazonaws.com/ap-southeast-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -123,17 +116,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-ap-southeast-1.amazonaws.com/ap-southeast-1.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-southeast-2.amazonaws.com/ap-southeast-2.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -148,17 +141,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-ap-southeast-2.amazonaws.com/ap-southeast-2.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-northeast-1.amazonaws.com/ap-northeast-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -173,17 +166,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-ap-northeast-1.amazonaws.com/ap-northeast-1.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-eu-central-1.amazonaws.com/eu-central-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -198,17 +191,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-eu-central-1.amazonaws.com/eu-central-1.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-eu-west-1.amazonaws.com/eu-west-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -223,17 +216,17 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-eu-west-1.amazonaws.com/eu-west-1.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE READABLE EXTERNAL TABLE s3regress_all_regions (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-sa-east-1.amazonaws.com/sa-east-1.@read_prefix@/small17/data0000 config=@config_file@') FORMAT 'csv';
\d s3regress
External table "public.s3regress"
\d s3regress_all_regions
External table "public.s3regress_all_regions"
Column | Type | Modifiers
--------+------------------+-----------
date | text |
......@@ -248,11 +241,10 @@ Format type: csv
Format options: delimiter ',' null '' escape '"' quote '"'
External location: "s3://s3-sa-east-1.amazonaws.com/sa-east-1.@read_prefix@/small17/data0000 config=@config_file@"
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_all_regions;
round
---------
4239338
(1 row)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_all_regions;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_gzip (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/gzipped_normal1/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress;
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress_gzip;
count | sum | avg
----------+------------+-----
31033039 | 1490754474 | 48
(1 row)
DROP EXTERNAL TABLE s3regress;
CREATE READABLE EXTERNAL TABLE s3regress (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/gzipped_2002and2003/ config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
SELECT count(*) FROM s3regress;
DROP EXTERNAL TABLE s3regress_gzip;
CREATE READABLE EXTERNAL TABLE s3regress_gzip (Year text, Month text, DayofMonth text, DayOfWeek text, DepTime text, CRSDepTime text, ArrTime text,CRSArrTime text, UniqueCarrier text, FlightNum text,TailNum text, ActualElapsedTime text, CRSElapsedTime text, AirTime text, ArrDelay text, DepDelay text, Origin text, Dest text, Distance text, TaxiIn text, TaxiOut text, Cancelled text, CancellationCode text, Diverted text, CarrierDelay text, WeatherDelay text, NASDelay text, SecurityDelay text, LateAircraftDelay text) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/gzipped_2002and2003/ config=@config_file@') format 'csv' SEGMENT REJECT LIMIT 100 PERCENT;
SELECT count(*) FROM s3regress_gzip;
NOTICE: Found 335925 data formatting errors (335925 or more input rows). Rejected related input data.
count
----------
11423976
(1 row)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_gzip;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_noprefix (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-ap-northeast-1.amazonaws.com/ap-northeast-1.s3test.pivotal.io config=@config_file@') FORMAT 'csv';
SELECT round(sum(open)) FROM s3regress;
SELECT round(sum(open)) FROM s3regress_noprefix;
round
----------
71676419
(1 row)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_noprefix;
-- start_ignore
CREATE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
ERROR: function "read_from_s3" already exists with same argument types
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
ERROR: duplicate key value violates unique constraint "pg_extprotocol_ptcname_index"
DETAIL: Key (ptcname)=(s3) already exists.
-- end_ignore
DROP EXTERNAL TABLE parallel1;
ERROR: table "parallel1" does not exist
CREATE READABLE EXTERNAL TABLE parallel1 (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM parallel1;
......@@ -19,6 +7,3 @@ SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM parallel1
(1 row)
DROP EXTERNAL TABLE parallel1;
-- start_ignore
DROP PROTOCOL s3;
-- end_ignore
-- start_ignore
CREATE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
ERROR: function "read_from_s3" already exists with same argument types
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
-- end_ignore
DROP EXTERNAL TABLE parallel2;
ERROR: table "parallel2" does not exist
CREATE READABLE EXTERNAL TABLE parallel2 (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM parallel2;
......@@ -17,7 +7,3 @@ SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM parallel2
(1 row)
DROP EXTERNAL TABLE parallel2;
-- start_ignore
DROP PROTOCOL s3;
ERROR: protocol "s3" does not exist
-- end_ignore
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_thousands_files (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/2001files/ config=@config_file@') FORMAT 'csv';
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress;
SELECT count(*) count, round(sum(open)) sum, round(avg(open)) avg FROM s3regress_thousands_files;
count | sum | avg
--------+---------+-----
256128 | 9107189 | 36
(1 row)
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_thousands_files;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date float, time float, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_invalid_syntax (date float, time float, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/xac config=@config_file@') format 'csv';
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_invalid_syntax;
ERROR: invalid input syntax for type double precision: "05/18/2010" (seg0 slice1 ip-172-31-2-196.us-west-2.compute.internal:40000 pid=23076)
DETAIL: External table s3regress, line 1 of s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/xac config=@config_file@, column date
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DETAIL: External table s3regress_invalid_syntax, line 1 of s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/xac config=@config_file@, column date
DROP EXTERNAL TABLE s3regress_invalid_syntax;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_invalid_region (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://neverland.amazonaws.com/wherever/whatever/ config=@config_file@') format 'csv';
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_invalid_region;
ERROR: Failed to init S3 extension, segid = 5, segnum = 6, please check your configurations and net connection: Failed to list bucket for URL: s3://neverland.amazonaws.com/wherever/whatever/, Function: open, File: src/s3bucket_reader.cpp(55). (gps3ext.cpp:88) (seg5 slice1 ip-172-31-2-195.us-west-2.compute.internal:40001 pid=2338) (cdbdisp.c:1326)
DETAIL: External table s3regress, file s3://neverland.amazonaws.com/wherever/whatever/ config=@config_file@
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DETAIL: External table s3regress_invalid_region, file s3://neverland.amazonaws.com/wherever/whatever/ config=@config_file@
DROP EXTERNAL TABLE s3regress_invalid_region;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_invalid_config (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/') format 'csv';
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_invalid_config;
ERROR: Failed to init S3 extension, segid = -1, segnum = -1, please check your configurations and net connection: (gps3ext.cpp:88) (seg2 slice1 ip-172-31-2-194.us-west-2.compute.internal:40000 pid=2380) (cdbdisp.c:1326)
DETAIL: External table s3regress, file s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DETAIL: External table s3regress_invalid_config, file s3://s3-us-west-2.amazonaws.com/@read_prefix@/normal/
DROP EXTERNAL TABLE s3regress_invalid_config;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE READABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE READABLE EXTERNAL TABLE s3regress_invalid_header (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@read_prefix@/csv_with_header/ config=@config_file@') format 'csv';
SELECT count(*) FROM s3regress;
SELECT count(*) FROM s3regress_invalid_header;
ERROR: invalid input syntax for type double precision: "open" (seg0 slice1 ip-172-31-2-196.us-west-2.compute.internal:40000 pid=23220)
DETAIL: External table s3regress, line 1 of s3://s3-us-west-2.amazonaws.com/@read_prefix@/csv_with_header/ config=@config_file@, column open
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DETAIL: External table s3regress_invalid_header, line 1 of s3://s3-us-west-2.amazonaws.com/@read_prefix@/csv_with_header/ config=@config_file@, column open
DROP EXTERNAL TABLE s3regress_invalid_header;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
writefunc = write_to_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE WRITABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE WRITABLE EXTERNAL TABLE s3regress_create_wet (date text, time text, open float, high float,
low float, volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/create/ config=@config_file@') FORMAT 'csv';
DROP EXTERNAL TABLE s3regress;
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_create_wet;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_quick_read;
NOTICE: table "s3write_quick_read" does not exist, skipping
DROP EXTERNAL TABLE IF EXISTS s3write_quick_write;
NOTICE: table "s3write_quick_write" does not exist, skipping
CREATE READABLE EXTERNAL TABLE s3write_quick_read (date text, time text, open float, high float, low float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/quick/ config=@config_file@') FORMAT 'csv';
CREATE WRITABLE EXTERNAL TABLE s3write_quick_write (date text, time text, open float, high float, low float,
......@@ -28,4 +16,3 @@ SELECT * FROM s3write_quick_read;
DROP EXTERNAL TABLE IF EXISTS s3write_quick_read;
DROP EXTERNAL TABLE IF EXISTS s3write_quick_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_bulk_read;
NOTICE: table "s3write_bulk_read" does not exist, skipping
DROP EXTERNAL TABLE IF EXISTS s3write_bulk_write;
NOTICE: table "s3write_bulk_write" does not exist, skipping
CREATE READABLE EXTERNAL TABLE s3write_bulk_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/bulk/ config=@config_file@') FORMAT 'csv';
CREATE WRITABLE EXTERNAL TABLE s3write_bulk_write (date text, time text, status bool, sample1 float, sample2 float,
......@@ -35,4 +23,3 @@ SELECT min(volume), max(volume), count(*) FROM s3write_bulk_read;
DROP EXTERNAL TABLE IF EXISTS s3write_bulk_read;
DROP EXTERNAL TABLE IF EXISTS s3write_bulk_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_mixed_read;
NOTICE: table "s3write_mixed_read" does not exist, skipping
DROP EXTERNAL TABLE IF EXISTS s3write_mixed_write;
NOTICE: table "s3write_mixed_write" does not exist, skipping
CREATE READABLE EXTERNAL TABLE s3write_mixed_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/mixed/ config=@config_file@') FORMAT 'csv';
CREATE WRITABLE EXTERNAL TABLE s3write_mixed_write (date text, time text, status bool, sample1 float, sample2 float,
......@@ -59,4 +47,3 @@ SELECT min(volume), max(volume), count(*) FROM s3write_mixed_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixed_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixed_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_read;
NOTICE: table "s3write_ret2wet_read" does not exist, skipping
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_write;
NOTICE: table "s3write_ret2wet_write" does not exist, skipping
CREATE READABLE EXTERNAL TABLE s3write_ret2wet_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/ret2wet/ config=@config_file@') FORMAT 'csv';
CREATE WRITABLE EXTERNAL TABLE s3write_ret2wet_write (date text, time text, status bool, sample1 float, sample2 float,
......@@ -36,4 +24,3 @@ DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_read;
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_write;
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_read_new;
DROP EXTERNAL TABLE IF EXISTS s3write_ret2wet_write_new;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_read;
NOTICE: table "s3write_special_characters_read" does not exist, skipping
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_write;
NOTICE: table "s3write_special_characters_write" does not exist, skipping
CREATE READABLE EXTERNAL TABLE s3write_special_characters_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/?:&=+/ config=@config_file@') FORMAT 'csv';
CREATE WRITABLE EXTERNAL TABLE s3write_special_characters_write (date text, time text, status bool, sample1 float, sample2 float,
......@@ -36,4 +24,3 @@ DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_read;
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_write;
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_read_new;
DROP EXTERNAL TABLE IF EXISTS s3write_special_characters_write_new;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_lots_of_files_read;
NOTICE: table "s3write_lots_of_files_read" does not exist, skipping
DROP EXTERNAL TABLE IF EXISTS s3write_lots_of_files_write;
NOTICE: table "s3write_lots_of_files_write" does not exist, skipping
CREATE READABLE EXTERNAL TABLE s3write_lots_of_files_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/lotsoffiles/ config=@config_file@') FORMAT 'csv';
CREATE WRITABLE EXTERNAL TABLE s3write_lots_of_files_write (date text, time text, status bool, sample1 float, sample2 float,
......@@ -49,4 +37,3 @@ select min(volume), max(volume), count(volume) from s3write_lots_of_files_read;
DROP FUNCTION write_lots_of_files (integer);
DROP EXTERNAL TABLE IF EXISTS s3write_lots_of_files_read;
DROP EXTERNAL TABLE IF EXISTS s3write_lots_of_files_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_join_query_read;
NOTICE: table "s3write_join_query_read" does not exist, skipping
DROP EXTERNAL TABLE IF EXISTS s3write_join_query_write;
NOTICE: table "s3write_join_query_write" does not exist, skipping
CREATE READABLE EXTERNAL TABLE s3write_join_query_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/joinquery/ config=@config_file@') FORMAT 'csv';
CREATE WRITABLE EXTERNAL TABLE s3write_join_query_write (date text, time text, status bool, sample1 float, sample2 float,
......@@ -28,4 +16,3 @@ WHERE remote.volume = local.volume;
DROP EXTERNAL TABLE IF EXISTS s3write_join_query_read;
DROP EXTERNAL TABLE IF EXISTS s3write_join_query_write;
DROP PROTOCOL s3;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
writefunc = write_to_s3
);
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
CREATE WRITABLE EXTERNAL TABLE s3regress (date text, time text, open float, high float,
CREATE WRITABLE EXTERNAL TABLE s3regress_create_invalid_wet (date text, time text, open float, high float,
low float, volume int) FORMAT 'csv';
ERROR: syntax error at or near "FORMAT"
LINE 2: low float, volume int) FORMAT 'csv';
^
DROP EXTERNAL TABLE s3regress;
ERROR: table "s3regress" does not exist
DROP PROTOCOL s3;
DROP EXTERNAL TABLE s3regress_create_invalid_wet;
ERROR: table "s3regress_create_invalid_wet" does not exist
CREATE OR REPLACE FUNCTION read_from_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_import' LANGUAGE C STABLE;
CREATE OR REPLACE FUNCTION write_to_s3() RETURNS integer AS
'$libdir/gps3ext.so', 's3_export' LANGUAGE C STABLE;
CREATE PROTOCOL s3 (
readfunc = read_from_s3,
writefunc = write_to_s3
);
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_read;
NOTICE: table "s3write_mixedfmt_read" does not exist, skipping
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_write;
NOTICE: table "s3write_mixedfmt_write" does not exist, skipping
CREATE READABLE EXTERNAL TABLE s3write_mixedfmt_read (date text, time text, status bool, sample1 float, sample2 float,
volume int) LOCATION('s3://s3-us-west-2.amazonaws.com/@write_prefix@/mixedfmt/ config=@config_file@') FORMAT 'csv';
CREATE WRITABLE EXTERNAL TABLE s3write_mixedfmt_write_csv (date text, time text, status bool, sample1 float, sample2 float,
......@@ -54,4 +42,3 @@ DETAIL: External table s3write_mixedfmt_read, line 1 of s3://s3-us-west-2.amazo
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_read;
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_write_csv;
DROP EXTERNAL TABLE IF EXISTS s3write_mixedfmt_write_txt;
DROP PROTOCOL s3;
DROP PROTOCOL s3;
DROP FUNCTION IF EXISTS read_from_s3();
DROP FUNCTION IF EXISTS write_to_s3();
test: 1_01_normal
test: 1_02_log_error
test: 1_03_bad_data
test: 1_04_empty_prefix
test: 1_05_one_line
test: 1_06_1correct_1wrong
test: 1_07_huge_bad_data
test: 1_08_huge_correct_data
test: 1_09_partition
test: 1_10_all_regions
test: 1_11_gzipped_data
test: 1_12_no_prefix
test: 1_13_parallel1 1_13_parallel2
test: 1_14_thousands_of_files
test: 2_01_invalid_syntax
test: 2_02_invalid_region
test: 2_03_invalid_config
test: 2_04_invalid_header
test: 3_01_create_wet
test: 3_02_insert_quick_shoot_wet
test: 3_03_insert_lots_of_rows
test: 3_04_insert_mixed_workload
test: 3_05_insert_to_wet_from_ret
test: 3_06_special_characters
test: 3_07_write_lots_of_files
test: 3_08_join_query_wet_local_tbl
test: 4_01_create_invalid_wet
test: 4_02_wet_with_mixed_format
test: 0_00_prepare_s3_protocol
# tens of seconds
test: 1_01_normal 1_02_log_error 1_10_all_regions 1_11_gzipped_data 1_12_no_prefix 1_13_parallel1 1_13_parallel2 1_09_partition
# ~ 1s
test: 1_03_bad_data 1_04_empty_prefix 1_05_one_line 1_06_1correct_1wrong 2_01_invalid_syntax 2_02_invalid_region 2_03_invalid_config 2_04_invalid_header 3_01_create_wet 3_02_insert_quick_shoot_wet 4_01_create_invalid_wet
# heavy loads, > 100s
test: 1_07_huge_bad_data 1_08_huge_correct_data 1_14_thousands_of_files 3_03_insert_lots_of_rows 3_07_write_lots_of_files 3_04_insert_mixed_workload 3_05_insert_to_wet_from_ret 3_06_special_characters 3_08_join_query_wet_local_tbl 4_02_wet_with_mixed_format
test: 9_99_clean_s3_protocol
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册