[ISSUE-4306] Fix the error of SDKS3SchemaReadExample (#4312)
Fix the issue when read schema from S3
diff --git a/examples/spark/src/main/java/org/apache/carbondata/examples/sdk/SDKS3ReadExample.java b/examples/spark/src/main/java/org/apache/carbondata/examples/sdk/SDKS3ReadExample.java
index 2621aea..a227910 100644
--- a/examples/spark/src/main/java/org/apache/carbondata/examples/sdk/SDKS3ReadExample.java
+++ b/examples/spark/src/main/java/org/apache/carbondata/examples/sdk/SDKS3ReadExample.java
@@ -27,10 +27,11 @@
import org.apache.carbondata.core.util.path.CarbonTablePath;
import org.apache.carbondata.sdk.file.CarbonReader;
+import static org.apache.carbondata.sdk.file.utils.SDKUtil.listFiles;
+
import org.apache.hadoop.conf.Configuration;
import org.apache.log4j.Logger;
-import static org.apache.carbondata.sdk.file.utils.SDKUtil.listFiles;
import static org.apache.hadoop.fs.s3a.Constants.ACCESS_KEY;
import static org.apache.hadoop.fs.s3a.Constants.ENDPOINT;
import static org.apache.hadoop.fs.s3a.Constants.SECRET_KEY;
@@ -41,14 +42,14 @@
public class SDKS3ReadExample {
public static void main(String[] args) throws Exception {
Logger logger = LogServiceFactory.getLogService(SDKS3ReadExample.class.getName());
- if (args == null || args.length < 3) {
+ int parameterLength = 3;
+ if (args == null || args.length < parameterLength) {
logger.error("Usage: java CarbonS3Example: <access-key> <secret-key>"
- + "<s3-endpoint> [table-path-on-s3]");
+ + "<s3-endpoint> [table-path-on-s3]");
System.exit(0);
}
String path = "s3a://obs-xubo4/sdkdata/test";
- int parameterLength = 3;
if (args.length > parameterLength) {
path = args[3];
}
diff --git a/examples/spark/src/main/java/org/apache/carbondata/examples/sdk/SDKS3SchemaReadExample.java b/examples/spark/src/main/java/org/apache/carbondata/examples/sdk/SDKS3SchemaReadExample.java
index 3bd4890..ba7d468 100644
--- a/examples/spark/src/main/java/org/apache/carbondata/examples/sdk/SDKS3SchemaReadExample.java
+++ b/examples/spark/src/main/java/org/apache/carbondata/examples/sdk/SDKS3SchemaReadExample.java
@@ -33,15 +33,15 @@
public class SDKS3SchemaReadExample {
public static void main(String[] args) throws Exception {
Logger logger = LogServiceFactory.getLogService(SDKS3SchemaReadExample.class.getName());
- if (args == null || args.length < 3) {
+ int parameterLength = 3;
+ if (args == null || args.length < parameterLength) {
logger.error("Usage: java CarbonS3Example: <access-key> <secret-key>"
+ "<s3-endpoint> [table-path-on-s3]");
System.exit(0);
}
- String path = "s3a://sdk/WriterOutput/carbondata2/";
-
- if (args.length > 3) {
+ String path = "s3a://obs-xubo4/sdkdata/test";
+ if (args.length > parameterLength) {
path = args[3];
}
diff --git a/sdk/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonSchemaReader.java b/sdk/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonSchemaReader.java
index 81b702c..10fa4cf 100644
--- a/sdk/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonSchemaReader.java
+++ b/sdk/sdk/src/main/java/org/apache/carbondata/sdk/file/CarbonSchemaReader.java
@@ -47,12 +47,12 @@
import org.apache.carbondata.processing.loading.exception.CarbonDataLoadingException;
import org.apache.carbondata.sdk.file.arrow.ArrowConverter;
+import org.apache.hadoop.conf.Configuration;
+
import static org.apache.carbondata.core.util.CarbonUtil.thriftColumnSchemaToWrapperColumnSchema;
import static org.apache.carbondata.core.util.path.CarbonTablePath.CARBON_DATA_EXT;
import static org.apache.carbondata.core.util.path.CarbonTablePath.INDEX_FILE_EXT;
-import org.apache.hadoop.conf.Configuration;
-
/**
* Schema reader for carbon files, including carbondata file, carbonindex file, and schema file
*/
@@ -168,7 +168,7 @@
public static Schema readSchema(String path, boolean validateSchema, Configuration conf)
throws IOException {
// Check whether it is transactional table reads the schema
- String schemaFilePath = CarbonTablePath.getSchemaFilePath(path);
+ String schemaFilePath = CarbonTablePath.getSchemaFilePath(path, conf);
if (FileFactory.getCarbonFile(schemaFilePath, conf).exists()) {
return readSchemaInSchemaFile(schemaFilePath, conf);
}