我正在使用 spark 使用以下代码从 ftp 服务器获取文件
val dataSource = "ftp://<username>:<password>@<host>:<port>/<path>"
sc.addFile(dataSource)
var fileName = SparkFiles.get(dataSource.split("/").last)
val sqlContext = new SQLContext(sc)
val df = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true") // Use first line of all files as header
.option("inferSchema", "true") // Automatically infer data types
.option("delimiter", ",")
.load(fileName)
但我面临转义字符的问题,如“^”、“!”、“@”或“#”等。我尝试使用 HEX ASCII 值作为特殊字符,并尝试通过包围用户名/密码来转义它们例如在转义引号中
val dataSource = "ftp://\'<username>\':\'<password>\'.........
但这也不起作用。谁能向我解释如何在我的 ftp url 中转义这些字符?
PS,当密码不包含任何特殊字符时,此代码确实有效。