Queremos crear las particiones en la tabla Hive, pero el nombre de la partición tiene algunos espacios. Entonces no puede crear las particiones. Actualmente estamos usando java. Intentamos escapar del espacio, pero todos lanzan excepciones.
URL -s3n://comp-data-bckp/data/datav/sample_test/sample_test_inner/2016-06-27/hive/warehouse/datav/sample_test_inner/platform=SONY PS3 HiveConf hiveConf= new HiveConf(); hiveConf.setVar(HiveConf.ConfVars.METASTOREURIS, URL); hiveConf.setIntVar(HiveConf.ConfVars.METASTORE_CLIENT_SOCKET_TIMEOUT, 60); CliSessionState css = new CliSessionState(hiveConf); css.in = System.in; css.out = null; css.err = null; css.setIsSilent(true); SessionState.start(css); CliDriver cli = new CliDriver(); int response = cli.processLine(statements); SessionState s = SessionState.get(); if (s != null && s.out != null && s.out != System.out) { s.out.close(); } return response; java.net.URISyntaxException: Illegal character in path at index 126: s3n://comp-data-bckp/data/datav/sample_test/sample_test_inner/2016-06-27/hive/warehouse/datav/sample_test_inner/platform=SONY PS3Cuando intentamos escapar del carácter de espacio con las siguientes opciones, el sistema aún arroja el error anterior.
- \\ (eg. S3n://…./ platform=SONY\\ PS3) - %20 (eg. S3n://…./ platform=SONY%20PS3) - + (eg. S3n://…./ platform=SONY+PS3)Ayude si hay alguna opción para escapar y proporcione información para continuar.