I am trying to perform a load/copy operation to import data from JSON files in an S3 bucket directly to Redshift. The COPY operation succeeds, and after the COPY, the table
So I have discovered the cause - This would not have been evident from the description I provided in my original post.
When you create a table in Redshift, the column names are converted to lowercase. When you perform a COPY operation, the column names are case sensitive.
The input data that I have been trying to load is using camelCase for column names, and so when I perform the COPY, the columns do not match up with the defined schema (which now uses all lowercase column names)
The operation does not raise an error, though. It just leaves NULLs in all the columns that did not match (in this case, all of them)
Hope this helps somebody to avoid the same confusion!