Brady Tello created SPARK-34883:
-----------------------------------

             Summary: Setting CSV reader option "multiLine" to "true" causes 
URISyntaxException when colon is in file path
                 Key: SPARK-34883
                 URL: https://issues.apache.org/jira/browse/SPARK-34883
             Project: Spark
          Issue Type: Bug
          Components: Spark Core
    Affects Versions: 3.1.1, 3.0.0
            Reporter: Brady Tello


Setting the CSV reader's "multiLine" option to "True" throws the following 
exception when a ':' character is in the file path.

 
{code:java}
java.net.URISyntaxException: Relative path in absolute URI: test:dir
{code}
I've tested this in both Spark 3.0.0 and Spark 3.1.1 and I get the same error 
whether I use Scala, Python, or SQL.

The following code works fine:

 
{code:java}
csvFile = "/FileStore/myDir/test:dir/pageviews_by_second.tsv" 
tempDF = (spark.read.option("sep", "\t").csv(csvFile)
{code}
While the following code fails:

 
{code:java}
csvFile = "/FileStore/myDir/test:dir/pageviews_by_second.tsv"
tempDF = (spark.read.option("sep", "\t").option("multiLine", 
"True").csv(csvFile)
{code}
Full Stack Trace from Python:

 
{code:java}
--------------------------------------------------------------------------- 
IllegalArgumentException Traceback (most recent call last) <command-8965899> in 
<module> 3 #csvFile = 
"/mnt/training/wikipedia/pageviews/pageviews_by_second.tsv" 4 ----> 5 tempDF = 
(spark.read # The DataFrameReader 6 .option("sep", "\t") # Use tab delimiter 
(default is comma-separator) 7 .option("multiLine", "True") 
/databricks/spark/python/pyspark/sql/readwriter.py in csv(self, path, schema, 
sep, encoding, quote, escape, comment, header, inferSchema, 
ignoreLeadingWhiteSpace, ignoreTrailingWhiteSpace, nullValue, nanValue, 
positiveInf, negativeInf, dateFormat, timestampFormat, maxColumns, 
maxCharsPerColumn, maxMalformedLogPerPartition, mode, 
columnNameOfCorruptRecord, multiLine, charToEscapeQuoteEscaping, samplingRatio, 
enforceSchema, emptyValue, locale, lineSep, pathGlobFilter, 
recursiveFileLookup, modifiedBefore, modifiedAfter, unescapedQuoteHandling) 735 
path = [path] 736 if type(path) == list: --> 737 return 
self._df(self._jreader.csv(self._spark._sc._jvm.PythonUtils.toSeq(path))) 738 
elif isinstance(path, RDD): 739 def func(iterator): 
/databricks/spark/python/lib/py4j-0.10.9-src.zip/py4j/java_gateway.py in 
__call__(self, *args) 1302 1303 answer = 
self.gateway_client.send_command(command) -> 1304 return_value = 
get_return_value( 1305 answer, self.gateway_client, self.target_id, self.name) 
1306 /databricks/spark/python/pyspark/sql/utils.py in deco(*a, **kw) 114 # Hide 
where the exception came from that shows a non-Pythonic 115 # JVM exception 
message. --> 116 raise converted from None 117 else: 118 raise 
IllegalArgumentException: java.net.URISyntaxException: Relative path in 
absolute URI: test:dir
{code}
 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to