"""SQL queries.""" from constants.common import Table as TableType class Table: STATS = "tblSpotifyHotHitsPlaylistTrackStats" MAPPING = {TableType.STATS: STATS} class SQL: UPLOAD_S3 = """ SELECT {columns} FROM tblSpotifyPlaylistTrackListHistory2 h JOIN tblSpotifyTrack2 t ON t.TrackId = h.TrackId AND t.ISRC != '' WHERE h.PlaylistId IN :id_list AND h.Date <= :date INTO OUTFILE S3 '{s3_path}' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; """ UPLOAD_S3_COLUMNS = { TableType.STATS: "h.PlaylistId, t.ISRC, h.PlaylistIndex, h.Date", } DOWNLOAD_S3 = """ LOAD DATA FROM S3 PREFIX '{s3_path}' IGNORE INTO TABLE {data_table} FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES ({columns}); """ DOWNLOAD_S3_COLUMNS = { TableType.STATS: "PlaylistId, ISRC, EntryDate, LatestDate, LatestPosition, PeakDate, PeakPosition", }