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

    https://github.com/apache/spark/pull/20937#discussion_r184863165
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/json/CreateJacksonParser.scala
 ---
    @@ -43,7 +47,38 @@ private[sql] object CreateJacksonParser extends 
Serializable {
         jsonFactory.createParser(record.getBytes, 0, record.getLength)
       }
     
    -  def inputStream(jsonFactory: JsonFactory, record: InputStream): 
JsonParser = {
    -    jsonFactory.createParser(record)
    +  def getStreamDecoder(enc: String, in: Array[Byte], length: Int): 
StreamDecoder = {
    +    val bais = new ByteArrayInputStream(in, 0, length)
    +    val byteChannel = Channels.newChannel(bais)
    +    val decodingBufferSize = Math.min(length, 8192)
    +    val decoder = Charset.forName(enc).newDecoder()
    +
    +    StreamDecoder.forDecoder(byteChannel, decoder, decodingBufferSize)
    +  }
    +
    +  def text(enc: String, jsonFactory: JsonFactory, record: Text): 
JsonParser = {
    +    val sd = getStreamDecoder(enc, record.getBytes, record.getLength)
    +    jsonFactory.createParser(sd)
    +  }
    +
    +  def inputStream(jsonFactory: JsonFactory, is: InputStream): JsonParser = 
{
    +    jsonFactory.createParser(is)
    +  }
    +
    +  def inputStream(enc: String, jsonFactory: JsonFactory, is: InputStream): 
JsonParser = {
    +    jsonFactory.createParser(new InputStreamReader(is, enc))
    --- End diff --
    
    I added a comment above


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to