用AWS SDK for Java 2.x编写以下代码示例来排除包含换行符的行:
import software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.ExpressionType;
import software.amazon.awssdk.services.s3.model.FormatType;
import software.amazon.awssdk.services.s3.model.InputSerialization;
import software.amazon.awssdk.services.s3.model.JSONInput;
import software.amazon.awssdk.services.s3.model.JSONOutput;
import software.amazon.awssdk.services.s3.model.OutputSerialization;
import software.amazon.awssdk.services.s3.model.SelectObjectContentEventStream;
import software.amazon.awssdk.services.s3.model.SelectObjectContentRequest;
import software.amazon.awssdk.services.s3.model.SelectObjectContentResponseHandler;
import software.amazon.awssdk.services.s3.model.SSECustomerKey;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
public class ExcludeCarriageReturnRows {
public static void main(String[] args) throws IOException {
Region region = Region.US_WEST_2;
S3Client s3 = S3Client.builder()
.credentialsProvider(EnvironmentVariableCredentialsProvider.create())
.region(region)
.build();
// Set the parameters
String bucketName = "mybucket";
String key = "mydata.csv";
String s3SelectQuery = "select * from s3object s where NOT regexp_like(s._1, '\\r$')";
final SelectObjectContentRequest request = generateBaseCSVRequest(bucketName, key, s3SelectQuery);
// Execute the selectObjectContent request and get the response handler
SelectObjectContentResponseHandler responseHandler = getResponseHandler();
s3.selectObjectContent(request, responseHandler);
// Process response and write to output file
processResponse(responseHandler);
// Close S3 client
s3.close();
}
private static SelectObjectContentRequest generateBaseCSVRequest(String bucket, String key, String query) {
InputSerialization inputSerialization = InputSerialization.builder()
.csv(CSVInput.builder().hasHeader(true
上一篇:编写R中的字符串连接函数
下一篇:编写三维数组的转置函数