Github user xubo245 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/3032#discussion_r244473860
  
    --- Diff: 
integration/spark2/src/main/scala/org/apache/carbondata/spark/util/CarbonSparkUtil.scala
 ---
    @@ -117,4 +116,29 @@ object CarbonSparkUtil {
         case _ =>
           delimiter
       }
    +  def getKeyOnPrefix(path: String): (String, String, String) = {
    +    val endPoint = "spark.hadoop." + ENDPOINT
    +    if (path.startsWith(CarbonCommonConstants.S3A_PREFIX)) {
    +      ("spark.hadoop." + ACCESS_KEY, "spark.hadoop." + SECRET_KEY, 
endPoint)
    +    } else if (path.startsWith(CarbonCommonConstants.S3N_PREFIX)) {
    +      ("spark.hadoop." + CarbonCommonConstants.S3N_ACCESS_KEY,
    +        "spark.hadoop." + CarbonCommonConstants.S3N_SECRET_KEY, endPoint)
    +    } else if (path.startsWith(CarbonCommonConstants.S3_PREFIX)) {
    +      ("spark.hadoop." + CarbonCommonConstants.S3_ACCESS_KEY,
    +        "spark.hadoop." + CarbonCommonConstants.S3_SECRET_KEY, endPoint)
    +    } else {
    +      throw new Exception("Incorrect Store Path")
    +    }
    +  }
    +
    +  def getS3EndPoint(args: Array[String]): String = {
    +    if (args.length >= 4 && args(3).contains(".com")) args(3)
    --- End diff --
    
    Can you optimize it?  for example: change args to length and endPoint, not 
args(3). Because endpoint maybe is the 3rd or 4th number of parameter. It will 
error when the order change in args 


---

Reply via email to