You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Hyukjin Kwon (JIRA)" <ji...@apache.org> on 2019/05/29 01:20:00 UTC
[jira] [Updated] (SPARK-27861) get_json_object in sql will truncate
long value gotten from jsonpath
[ https://issues.apache.org/jira/browse/SPARK-27861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hyukjin Kwon updated SPARK-27861:
---------------------------------
Description:
{code:java}
select get_json_object('{"key":"eyJib29sIjp7ImZpbHRlciI6W3sidGVybSI6eyJ3YXJlaG91c2VfaWQiOjMwfX0seyJ0ZXJtcyI6eyJpZCI6WzE2MTgzMjk3NywxNjE4MjM1OTgsMTYxODIzNTk3LDE2MTgyMzU5NiwxNjE4MjM1OTUsMTYxODAwMjI0LDE2MTgwMDIyMSwxNjE4MDAyMjAsMTYxODAwMjE5LDE2MTgwMDIxOCwxNjE4MDAyMTMsMTYxODAwMjEyLDE2MTgwMDIxMSwxNjE4MDAyMTAsMTYxODAwMjA2LDE2MTgwMDIwMiwxNjE4MDAyMDEsMTYxODAwMTk4LDE2MTgwMDE5NywxNjE4MDAxOTYsMTYxODAwMTk1LDE2MTgwMDE5NCwxNjE4MDAxOTMsMTYxODAwMTkyLDE2MTgwMDE5MSwxNjE4MDAxOTAsMTYxODAwMTg5LDE2MTc5NDAyOSwxNjEzNTg2ODMsMTYxMzU4NjExLDE2MTM1ODYxMCwxNjEzNTYzMTIsMTYxMzU0NzU5LDE2MTM1NDY5NywxNjEzNTQ2OTYsMTYxMzQ0NTkyLDE2MTM0NDUwNywxNjEzMzc2MzQsMTYxMzM3MjA2LDE2MTMwMDM4OCwxNjEzMDAzODcsMTYxMzAwMzg2LDE2MTI4ODAxMCwxNjEyODgwMDksMTYxMjc5NTI0LDE2MTI3OTUyMiwxNjEyNzk1MTUsMTYxMjc5NTE0LDE2MTI3OTUxMywxNjEyNzg5NzcsMTYxMjc4OTc2LDE2MTI3ODk0NCwxNjEyNzg5NDMsMTYwODk2NjM3LDE2MDg5NjYzNiwxNjA4NzQ0ODcsMTYwODc0NDg2LDE2MDg3NDQ2NywxNjA4NzQ0NjYsMTYwODc0NDY1LDE2MDg3NDQ2NCwxNjA4NzQ0NjMsMTYwODc0NDU2LDE2MDg3NDQ1NSwxNjA4NzQxNTksMTYwODc0MTU2LDE2MDg3NDE1NSwxNjA4NzQxNTIsMTYwODc0MTUxLDE2MDg3NDE1MCwxNjA4NzQxNDksMTYwODc0MTQ4LDE2MDg3NDE0NSwxNjA4NzQxNDQsMTYwODc0MTQzLDE2MDg3NDE0MiwxNjA4NzQxNDEsMTYwODc0MTQwLDE2MDg3NDEzNywxNjA4NzQxMzYsMTYwODc0MTMzLDE2MDg3NDEzMiwxNjA4MjI0OTksMTYwODExMDE5LDE2MDgxMDkxNSwxNjA4MTA5MTQsMTYwODEwNDU4LDE2MDgxMDQ1NywxNjA4MTA0NTYsMTYwODEwNDU1LDE2MDgxMDQ1NCwxNjA4MTAzNTMsMTYwNzk5NTU1LDE2MDc5MjQ1OSwxNjA3OTI0NTYsMTYwNzkyNDU1LDE2MDc5MjQ1NCwxNjA3OTI0NTEsMTYwNzkyNDUwLDE2MDc5MjQ0OSwxNjA3OTI0MzUsMTYwNzkyNDI4LDE2MDc5MjQyNywxNjA3OTI0MjYsMTYwNzkyNDI1LDE2MDc5MjQyNCwxNjA3OTI0MjMsMTYwNzkyNDIyLDE2MDc5MjQxNCwxNjA3OTI0MTEsMTYwNzkyNDA4LDE2MDc5MjQwMywxNjA3OTI0MDIsMTYwNzkyNDAxLDE2MDc5MjM5MiwxNjA3OTIzODgsMTYwNzkyMzg3LDE2MDc5MjM4NiwxNjA3OTIzODUsMTYwNzkyMzg0LDE2MDc5MjM2NSwxNjA3OTIzNjIsMTYwNzkyMzYxLDE2MDc5MjM2MCwxNjA3OTIzNTksMTYwNzkyMzU4LDE2MDc5MjM1NywxNjA3OTIzNTYsMTYwNzkyMzU1LDE2MDc5MjM1NCwxNjA3OTIzNTMsMTYwNzkyMzUyLDE2MDc5MjM1MSwxNjA3OTIzNTAsMTYwNzkwNjA4LDE2MDc5MDYwNywxNjA3OTA2MDQsMTYwNzkwNjAzLDE2MDc5MDYwMCwxNjA3OTA1OTYsMTYwNzkwNTk1LDE2MDc5MDU5NCwxNjA3Nzg3MjQsMTYwNzc4NzIzLDE2MDc3ODcyMiwxNjA3Nzg3MjEsMTYwNzc4NzIwLDE2MDc3ODcxOSwxNjA3Nzg3MTgsMTYwNzc4NzE3LDE2MDc3ODcxNiwxNjA3Nzg3MTUsMTYwNzc4NzE0LDE2MDc3ODcxMywxNjA3Nzg3MTIsMTYwNzY4MjMxLDE2MDc2NDE3NywxNjA3NjQxNTgsMTYwNzYyNTI0LDE2MDc2MjUyMywxNjA3NjI1MjIsMTYwNzYyNTIxLDE2MDc2MjUyMCwxNjA3NjI1MTksMTYwNzYyNTE4LDE2MDc2MjUxNywxNjA3NjI1MTYsMTYwNzYyNTE1LDE2MDc2MjQ5MiwxNjA3NjI0OTEsMTYwNzYyNDkwLDE2MDc2MjQ4OSwxNjA3NjI0ODgsMTYwNzYyNDg3LDE2MDc2MjQ4NiwxNjA3NTY4MDksMTYwNzU2Nzc5LDE2MDc1Njc0OSwxNjA3NTY3NDgsMTYwNzU2NzM4LDE2MDc1NjczNywxNjA3NTY3MjAsMTYwNzU2NzE5LDE2MDc1NjcxOCwxNjA3NTY3MTcsMTYwNzU2Njk1LDE2MDczNzIzNSwxNjA3MzcyMzQsMTYwNzM3MjMzLDE2MDczNzIzMiwxNjA3MzcyMzEsMTYwNzM3MjMwLDE2MDczNzIyOSwxNjA3MzcyMjgsMTYwNzM3MjI3LDE2MDczNzIyNiwxNjA3MzcyMjUsMTYwNzM3MjI0LDE2MDczNzE3MywxNjA3MzcxNzJdfX0seyJ0ZXJtIjp7ImlzX2RlbGV0ZWQiOjB9fV19fQ=="}','$.key')
{code}
result will be truncated in spark-sql.
{code:java}
val spark = SparkSession.builder
.appName("test").master("local[1]")
.getOrCreate
import spark.implicits._ // << add this
val sc = spark.sparkContext
val rdd: RDD[Row] = sc.parallelize(Seq(
Row("""{"key":"eyJib29sIjp7ImZpbHRlciI6W3sidGVybSI6eyJ3YXJlaG91c2VfaWQiOjMwfX0seyJ0ZXJtcyI6eyJpZCI6WzE2MTgzMjk3NywxNjE4MjM1OTgsMTYxODIzNTk3LDE2MTgyMzU5NiwxNjE4MjM1OTUsMTYxODAwMjI0LDE2MTgwMDIyMSwxNjE4MDAyMjAsMTYxODAwMjE5LDE2MTgwMDIxOCwxNjE4MDAyMTMsMTYxODAwMjEyLDE2MTgwMDIxMSwxNjE4MDAyMTAsMTYxODAwMjA2LDE2MTgwMDIwMiwxNjE4MDAyMDEsMTYxODAwMTk4LDE2MTgwMDE5NywxNjE4MDAxOTYsMTYxODAwMTk1LDE2MTgwMDE5NCwxNjE4MDAxOTMsMTYxODAwMTkyLDE2MTgwMDE5MSwxNjE4MDAxOTAsMTYxODAwMTg5LDE2MTc5NDAyOSwxNjEzNTg2ODMsMTYxMzU4NjExLDE2MTM1ODYxMCwxNjEzNTYzMTIsMTYxMzU0NzU5LDE2MTM1NDY5NywxNjEzNTQ2OTYsMTYxMzQ0NTkyLDE2MTM0NDUwNywxNjEzMzc2MzQsMTYxMzM3MjA2LDE2MTMwMDM4OCwxNjEzMDAzODcsMTYxMzAwMzg2LDE2MTI4ODAxMCwxNjEyODgwMDksMTYxMjc5NTI0LDE2MTI3OTUyMiwxNjEyNzk1MTUsMTYxMjc5NTE0LDE2MTI3OTUxMywxNjEyNzg5NzcsMTYxMjc4OTc2LDE2MTI3ODk0NCwxNjEyNzg5NDMsMTYwODk2NjM3LDE2MDg5NjYzNiwxNjA4NzQ0ODcsMTYwODc0NDg2LDE2MDg3NDQ2NywxNjA4NzQ0NjYsMTYwODc0NDY1LDE2MDg3NDQ2NCwxNjA4NzQ0NjMsMTYwODc0NDU2LDE2MDg3NDQ1NSwxNjA4NzQxNTksMTYwODc0MTU2LDE2MDg3NDE1NSwxNjA4NzQxNTIsMTYwODc0MTUxLDE2MDg3NDE1MCwxNjA4NzQxNDksMTYwODc0MTQ4LDE2MDg3NDE0NSwxNjA4NzQxNDQsMTYwODc0MTQzLDE2MDg3NDE0MiwxNjA4NzQxNDEsMTYwODc0MTQwLDE2MDg3NDEzNywxNjA4NzQxMzYsMTYwODc0MTMzLDE2MDg3NDEzMiwxNjA4MjI0OTksMTYwODExMDE5LDE2MDgxMDkxNSwxNjA4MTA5MTQsMTYwODEwNDU4LDE2MDgxMDQ1NywxNjA4MTA0NTYsMTYwODEwNDU1LDE2MDgxMDQ1NCwxNjA4MTAzNTMsMTYwNzk5NTU1LDE2MDc5MjQ1OSwxNjA3OTI0NTYsMTYwNzkyNDU1LDE2MDc5MjQ1NCwxNjA3OTI0NTEsMTYwNzkyNDUwLDE2MDc5MjQ0OSwxNjA3OTI0MzUsMTYwNzkyNDI4LDE2MDc5MjQyNywxNjA3OTI0MjYsMTYwNzkyNDI1LDE2MDc5MjQyNCwxNjA3OTI0MjMsMTYwNzkyNDIyLDE2MDc5MjQxNCwxNjA3OTI0MTEsMTYwNzkyNDA4LDE2MDc5MjQwMywxNjA3OTI0MDIsMTYwNzkyNDAxLDE2MDc5MjM5MiwxNjA3OTIzODgsMTYwNzkyMzg3LDE2MDc5MjM4NiwxNjA3OTIzODUsMTYwNzkyMzg0LDE2MDc5MjM2NSwxNjA3OTIzNjIsMTYwNzkyMzYxLDE2MDc5MjM2MCwxNjA3OTIzNTksMTYwNzkyMzU4LDE2MDc5MjM1NywxNjA3OTIzNTYsMTYwNzkyMzU1LDE2MDc5MjM1NCwxNjA3OTIzNTMsMTYwNzkyMzUyLDE2MDc5MjM1MSwxNjA3OTIzNTAsMTYwNzkwNjA4LDE2MDc5MDYwNywxNjA3OTA2MDQsMTYwNzkwNjAzLDE2MDc5MDYwMCwxNjA3OTA1OTYsMTYwNzkwNTk1LDE2MDc5MDU5NCwxNjA3Nzg3MjQsMTYwNzc4NzIzLDE2MDc3ODcyMiwxNjA3Nzg3MjEsMTYwNzc4NzIwLDE2MDc3ODcxOSwxNjA3Nzg3MTgsMTYwNzc4NzE3LDE2MDc3ODcxNiwxNjA3Nzg3MTUsMTYwNzc4NzE0LDE2MDc3ODcxMywxNjA3Nzg3MTIsMTYwNzY4MjMxLDE2MDc2NDE3NywxNjA3NjQxNTgsMTYwNzYyNTI0LDE2MDc2MjUyMywxNjA3NjI1MjIsMTYwNzYyNTIxLDE2MDc2MjUyMCwxNjA3NjI1MTksMTYwNzYyNTE4LDE2MDc2MjUxNywxNjA3NjI1MTYsMTYwNzYyNTE1LDE2MDc2MjQ5MiwxNjA3NjI0OTEsMTYwNzYyNDkwLDE2MDc2MjQ4OSwxNjA3NjI0ODgsMTYwNzYyNDg3LDE2MDc2MjQ4NiwxNjA3NTY4MDksMTYwNzU2Nzc5LDE2MDc1Njc0OSwxNjA3NTY3NDgsMTYwNzU2NzM4LDE2MDc1NjczNywxNjA3NTY3MjAsMTYwNzU2NzE5LDE2MDc1NjcxOCwxNjA3NTY3MTcsMTYwNzU2Njk1LDE2MDczNzIzNSwxNjA3MzcyMzQsMTYwNzM3MjMzLDE2MDczNzIzMiwxNjA3MzcyMzEsMTYwNzM3MjMwLDE2MDczNzIyOSwxNjA3MzcyMjgsMTYwNzM3MjI3LDE2MDczNzIyNiwxNjA3MzcyMjUsMTYwNzM3MjI0LDE2MDczNzE3MywxNjA3MzcxNzJdfX0seyJ0ZXJtIjp7ImlzX2RlbGV0ZWQiOjB9fV19fQ=="}""")
))
val schema = StructType(
List(
StructField("x", StringType, true)
))
val df = spark.createDataFrame(rdd, schema)
df.withColumn("x2", get_json_object( $"x"
, "$.key")).select("x2").show(false)
{code}
can result complete value, why does spark-sql behave differently with the program?
was:
{code:java}
select get_json_object('{"key":"eyJib29sIjp7ImZpbHRlciI6W3sidGVybSI6eyJ3YXJlaG91c2VfaWQiOjMwfX0seyJ0ZXJtcyI6eyJpZCI6WzE2MTgzMjk3NywxNjE4MjM1OTgsMTYxODIzNTk3LDE2MTgyMzU5NiwxNjE4MjM1OTUsMTYxODAwMjI0LDE2MTgwMDIyMSwxNjE4MDAyMjAsMTYxODAwMjE5LDE2MTgwMDIxOCwxNjE4MDAyMTMsMTYxODAwMjEyLDE2MTgwMDIxMSwxNjE4MDAyMTAsMTYxODAwMjA2LDE2MTgwMDIwMiwxNjE4MDAyMDEsMTYxODAwMTk4LDE2MTgwMDE5NywxNjE4MDAxOTYsMTYxODAwMTk1LDE2MTgwMDE5NCwxNjE4MDAxOTMsMTYxODAwMTkyLDE2MTgwMDE5MSwxNjE4MDAxOTAsMTYxODAwMTg5LDE2MTc5NDAyOSwxNjEzNTg2ODMsMTYxMzU4NjExLDE2MTM1ODYxMCwxNjEzNTYzMTIsMTYxMzU0NzU5LDE2MTM1NDY5NywxNjEzNTQ2OTYsMTYxMzQ0NTkyLDE2MTM0NDUwNywxNjEzMzc2MzQsMTYxMzM3MjA2LDE2MTMwMDM4OCwxNjEzMDAzODcsMTYxMzAwMzg2LDE2MTI4ODAxMCwxNjEyODgwMDksMTYxMjc5NTI0LDE2MTI3OTUyMiwxNjEyNzk1MTUsMTYxMjc5NTE0LDE2MTI3OTUxMywxNjEyNzg5NzcsMTYxMjc4OTc2LDE2MTI3ODk0NCwxNjEyNzg5NDMsMTYwODk2NjM3LDE2MDg5NjYzNiwxNjA4NzQ0ODcsMTYwODc0NDg2LDE2MDg3NDQ2NywxNjA4NzQ0NjYsMTYwODc0NDY1LDE2MDg3NDQ2NCwxNjA4NzQ0NjMsMTYwODc0NDU2LDE2MDg3NDQ1NSwxNjA4NzQxNTksMTYwODc0MTU2LDE2MDg3NDE1NSwxNjA4NzQxNTIsMTYwODc0MTUxLDE2MDg3NDE1MCwxNjA4NzQxNDksMTYwODc0MTQ4LDE2MDg3NDE0NSwxNjA4NzQxNDQsMTYwODc0MTQzLDE2MDg3NDE0MiwxNjA4NzQxNDEsMTYwODc0MTQwLDE2MDg3NDEzNywxNjA4NzQxMzYsMTYwODc0MTMzLDE2MDg3NDEzMiwxNjA4MjI0OTksMTYwODExMDE5LDE2MDgxMDkxNSwxNjA4MTA5MTQsMTYwODEwNDU4LDE2MDgxMDQ1NywxNjA4MTA0NTYsMTYwODEwNDU1LDE2MDgxMDQ1NCwxNjA4MTAzNTMsMTYwNzk5NTU1LDE2MDc5MjQ1OSwxNjA3OTI0NTYsMTYwNzkyNDU1LDE2MDc5MjQ1NCwxNjA3OTI0NTEsMTYwNzkyNDUwLDE2MDc5MjQ0OSwxNjA3OTI0MzUsMTYwNzkyNDI4LDE2MDc5MjQyNywxNjA3OTI0MjYsMTYwNzkyNDI1LDE2MDc5MjQyNCwxNjA3OTI0MjMsMTYwNzkyNDIyLDE2MDc5MjQxNCwxNjA3OTI0MTEsMTYwNzkyNDA4LDE2MDc5MjQwMywxNjA3OTI0MDIsMTYwNzkyNDAxLDE2MDc5MjM5MiwxNjA3OTIzODgsMTYwNzkyMzg3LDE2MDc5MjM4NiwxNjA3OTIzODUsMTYwNzkyMzg0LDE2MDc5MjM2NSwxNjA3OTIzNjIsMTYwNzkyMzYxLDE2MDc5MjM2MCwxNjA3OTIzNTksMTYwNzkyMzU4LDE2MDc5MjM1NywxNjA3OTIzNTYsMTYwNzkyMzU1LDE2MDc5MjM1NCwxNjA3OTIzNTMsMTYwNzkyMzUyLDE2MDc5MjM1MSwxNjA3OTIzNTAsMTYwNzkwNjA4LDE2MDc5MDYwNywxNjA3OTA2MDQsMTYwNzkwNjAzLDE2MDc5MDYwMCwxNjA3OTA1OTYsMTYwNzkwNTk1LDE2MDc5MDU5NCwxNjA3Nzg3MjQsMTYwNzc4NzIzLDE2MDc3ODcyMiwxNjA3Nzg3MjEsMTYwNzc4NzIwLDE2MDc3ODcxOSwxNjA3Nzg3MTgsMTYwNzc4NzE3LDE2MDc3ODcxNiwxNjA3Nzg3MTUsMTYwNzc4NzE0LDE2MDc3ODcxMywxNjA3Nzg3MTIsMTYwNzY4MjMxLDE2MDc2NDE3NywxNjA3NjQxNTgsMTYwNzYyNTI0LDE2MDc2MjUyMywxNjA3NjI1MjIsMTYwNzYyNTIxLDE2MDc2MjUyMCwxNjA3NjI1MTksMTYwNzYyNTE4LDE2MDc2MjUxNywxNjA3NjI1MTYsMTYwNzYyNTE1LDE2MDc2MjQ5MiwxNjA3NjI0OTEsMTYwNzYyNDkwLDE2MDc2MjQ4OSwxNjA3NjI0ODgsMTYwNzYyNDg3LDE2MDc2MjQ4NiwxNjA3NTY4MDksMTYwNzU2Nzc5LDE2MDc1Njc0OSwxNjA3NTY3NDgsMTYwNzU2NzM4LDE2MDc1NjczNywxNjA3NTY3MjAsMTYwNzU2NzE5LDE2MDc1NjcxOCwxNjA3NTY3MTcsMTYwNzU2Njk1LDE2MDczNzIzNSwxNjA3MzcyMzQsMTYwNzM3MjMzLDE2MDczNzIzMiwxNjA3MzcyMzEsMTYwNzM3MjMwLDE2MDczNzIyOSwxNjA3MzcyMjgsMTYwNzM3MjI3LDE2MDczNzIyNiwxNjA3MzcyMjUsMTYwNzM3MjI0LDE2MDczNzE3MywxNjA3MzcxNzJdfX0seyJ0ZXJtIjp7ImlzX2RlbGV0ZWQiOjB9fV19fQ=="}','$.key') result will be truncated in spark-sql.
{code}
{code:java}
val spark = SparkSession.builder
.appName("test").master("local[1]")
.getOrCreate
import spark.implicits._ // << add this
val sc = spark.sparkContext
val rdd: RDD[Row] = sc.parallelize(Seq(
Row("""{"key":"eyJib29sIjp7ImZpbHRlciI6W3sidGVybSI6eyJ3YXJlaG91c2VfaWQiOjMwfX0seyJ0ZXJtcyI6eyJpZCI6WzE2MTgzMjk3NywxNjE4MjM1OTgsMTYxODIzNTk3LDE2MTgyMzU5NiwxNjE4MjM1OTUsMTYxODAwMjI0LDE2MTgwMDIyMSwxNjE4MDAyMjAsMTYxODAwMjE5LDE2MTgwMDIxOCwxNjE4MDAyMTMsMTYxODAwMjEyLDE2MTgwMDIxMSwxNjE4MDAyMTAsMTYxODAwMjA2LDE2MTgwMDIwMiwxNjE4MDAyMDEsMTYxODAwMTk4LDE2MTgwMDE5NywxNjE4MDAxOTYsMTYxODAwMTk1LDE2MTgwMDE5NCwxNjE4MDAxOTMsMTYxODAwMTkyLDE2MTgwMDE5MSwxNjE4MDAxOTAsMTYxODAwMTg5LDE2MTc5NDAyOSwxNjEzNTg2ODMsMTYxMzU4NjExLDE2MTM1ODYxMCwxNjEzNTYzMTIsMTYxMzU0NzU5LDE2MTM1NDY5NywxNjEzNTQ2OTYsMTYxMzQ0NTkyLDE2MTM0NDUwNywxNjEzMzc2MzQsMTYxMzM3MjA2LDE2MTMwMDM4OCwxNjEzMDAzODcsMTYxMzAwMzg2LDE2MTI4ODAxMCwxNjEyODgwMDksMTYxMjc5NTI0LDE2MTI3OTUyMiwxNjEyNzk1MTUsMTYxMjc5NTE0LDE2MTI3OTUxMywxNjEyNzg5NzcsMTYxMjc4OTc2LDE2MTI3ODk0NCwxNjEyNzg5NDMsMTYwODk2NjM3LDE2MDg5NjYzNiwxNjA4NzQ0ODcsMTYwODc0NDg2LDE2MDg3NDQ2NywxNjA4NzQ0NjYsMTYwODc0NDY1LDE2MDg3NDQ2NCwxNjA4NzQ0NjMsMTYwODc0NDU2LDE2MDg3NDQ1NSwxNjA4NzQxNTksMTYwODc0MTU2LDE2MDg3NDE1NSwxNjA4NzQxNTIsMTYwODc0MTUxLDE2MDg3NDE1MCwxNjA4NzQxNDksMTYwODc0MTQ4LDE2MDg3NDE0NSwxNjA4NzQxNDQsMTYwODc0MTQzLDE2MDg3NDE0MiwxNjA4NzQxNDEsMTYwODc0MTQwLDE2MDg3NDEzNywxNjA4NzQxMzYsMTYwODc0MTMzLDE2MDg3NDEzMiwxNjA4MjI0OTksMTYwODExMDE5LDE2MDgxMDkxNSwxNjA4MTA5MTQsMTYwODEwNDU4LDE2MDgxMDQ1NywxNjA4MTA0NTYsMTYwODEwNDU1LDE2MDgxMDQ1NCwxNjA4MTAzNTMsMTYwNzk5NTU1LDE2MDc5MjQ1OSwxNjA3OTI0NTYsMTYwNzkyNDU1LDE2MDc5MjQ1NCwxNjA3OTI0NTEsMTYwNzkyNDUwLDE2MDc5MjQ0OSwxNjA3OTI0MzUsMTYwNzkyNDI4LDE2MDc5MjQyNywxNjA3OTI0MjYsMTYwNzkyNDI1LDE2MDc5MjQyNCwxNjA3OTI0MjMsMTYwNzkyNDIyLDE2MDc5MjQxNCwxNjA3OTI0MTEsMTYwNzkyNDA4LDE2MDc5MjQwMywxNjA3OTI0MDIsMTYwNzkyNDAxLDE2MDc5MjM5MiwxNjA3OTIzODgsMTYwNzkyMzg3LDE2MDc5MjM4NiwxNjA3OTIzODUsMTYwNzkyMzg0LDE2MDc5MjM2NSwxNjA3OTIzNjIsMTYwNzkyMzYxLDE2MDc5MjM2MCwxNjA3OTIzNTksMTYwNzkyMzU4LDE2MDc5MjM1NywxNjA3OTIzNTYsMTYwNzkyMzU1LDE2MDc5MjM1NCwxNjA3OTIzNTMsMTYwNzkyMzUyLDE2MDc5MjM1MSwxNjA3OTIzNTAsMTYwNzkwNjA4LDE2MDc5MDYwNywxNjA3OTA2MDQsMTYwNzkwNjAzLDE2MDc5MDYwMCwxNjA3OTA1OTYsMTYwNzkwNTk1LDE2MDc5MDU5NCwxNjA3Nzg3MjQsMTYwNzc4NzIzLDE2MDc3ODcyMiwxNjA3Nzg3MjEsMTYwNzc4NzIwLDE2MDc3ODcxOSwxNjA3Nzg3MTgsMTYwNzc4NzE3LDE2MDc3ODcxNiwxNjA3Nzg3MTUsMTYwNzc4NzE0LDE2MDc3ODcxMywxNjA3Nzg3MTIsMTYwNzY4MjMxLDE2MDc2NDE3NywxNjA3NjQxNTgsMTYwNzYyNTI0LDE2MDc2MjUyMywxNjA3NjI1MjIsMTYwNzYyNTIxLDE2MDc2MjUyMCwxNjA3NjI1MTksMTYwNzYyNTE4LDE2MDc2MjUxNywxNjA3NjI1MTYsMTYwNzYyNTE1LDE2MDc2MjQ5MiwxNjA3NjI0OTEsMTYwNzYyNDkwLDE2MDc2MjQ4OSwxNjA3NjI0ODgsMTYwNzYyNDg3LDE2MDc2MjQ4NiwxNjA3NTY4MDksMTYwNzU2Nzc5LDE2MDc1Njc0OSwxNjA3NTY3NDgsMTYwNzU2NzM4LDE2MDc1NjczNywxNjA3NTY3MjAsMTYwNzU2NzE5LDE2MDc1NjcxOCwxNjA3NTY3MTcsMTYwNzU2Njk1LDE2MDczNzIzNSwxNjA3MzcyMzQsMTYwNzM3MjMzLDE2MDczNzIzMiwxNjA3MzcyMzEsMTYwNzM3MjMwLDE2MDczNzIyOSwxNjA3MzcyMjgsMTYwNzM3MjI3LDE2MDczNzIyNiwxNjA3MzcyMjUsMTYwNzM3MjI0LDE2MDczNzE3MywxNjA3MzcxNzJdfX0seyJ0ZXJtIjp7ImlzX2RlbGV0ZWQiOjB9fV19fQ=="}""")
))
val schema = StructType(
List(
StructField("x", StringType, true)
))
val df = spark.createDataFrame(rdd, schema)
df.withColumn("x2", get_json_object( $"x"
, "$.key")).select("x2").show(false)
can result complete value, why does spark-sql behave differently with the program?
{code}
> get_json_object in sql will truncate long value gotten from jsonpath
> ---------------------------------------------------------------------
>
> Key: SPARK-27861
> URL: https://issues.apache.org/jira/browse/SPARK-27861
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 2.2.0
> Reporter: jing.yan
> Priority: Major
>
> {code:java}
> select get_json_object('{"key":"eyJib29sIjp7ImZpbHRlciI6W3sidGVybSI6eyJ3YXJlaG91c2VfaWQiOjMwfX0seyJ0ZXJtcyI6eyJpZCI6WzE2MTgzMjk3NywxNjE4MjM1OTgsMTYxODIzNTk3LDE2MTgyMzU5NiwxNjE4MjM1OTUsMTYxODAwMjI0LDE2MTgwMDIyMSwxNjE4MDAyMjAsMTYxODAwMjE5LDE2MTgwMDIxOCwxNjE4MDAyMTMsMTYxODAwMjEyLDE2MTgwMDIxMSwxNjE4MDAyMTAsMTYxODAwMjA2LDE2MTgwMDIwMiwxNjE4MDAyMDEsMTYxODAwMTk4LDE2MTgwMDE5NywxNjE4MDAxOTYsMTYxODAwMTk1LDE2MTgwMDE5NCwxNjE4MDAxOTMsMTYxODAwMTkyLDE2MTgwMDE5MSwxNjE4MDAxOTAsMTYxODAwMTg5LDE2MTc5NDAyOSwxNjEzNTg2ODMsMTYxMzU4NjExLDE2MTM1ODYxMCwxNjEzNTYzMTIsMTYxMzU0NzU5LDE2MTM1NDY5NywxNjEzNTQ2OTYsMTYxMzQ0NTkyLDE2MTM0NDUwNywxNjEzMzc2MzQsMTYxMzM3MjA2LDE2MTMwMDM4OCwxNjEzMDAzODcsMTYxMzAwMzg2LDE2MTI4ODAxMCwxNjEyODgwMDksMTYxMjc5NTI0LDE2MTI3OTUyMiwxNjEyNzk1MTUsMTYxMjc5NTE0LDE2MTI3OTUxMywxNjEyNzg5NzcsMTYxMjc4OTc2LDE2MTI3ODk0NCwxNjEyNzg5NDMsMTYwODk2NjM3LDE2MDg5NjYzNiwxNjA4NzQ0ODcsMTYwODc0NDg2LDE2MDg3NDQ2NywxNjA4NzQ0NjYsMTYwODc0NDY1LDE2MDg3NDQ2NCwxNjA4NzQ0NjMsMTYwODc0NDU2LDE2MDg3NDQ1NSwxNjA4NzQxNTksMTYwODc0MTU2LDE2MDg3NDE1NSwxNjA4NzQxNTIsMTYwODc0MTUxLDE2MDg3NDE1MCwxNjA4NzQxNDksMTYwODc0MTQ4LDE2MDg3NDE0NSwxNjA4NzQxNDQsMTYwODc0MTQzLDE2MDg3NDE0MiwxNjA4NzQxNDEsMTYwODc0MTQwLDE2MDg3NDEzNywxNjA4NzQxMzYsMTYwODc0MTMzLDE2MDg3NDEzMiwxNjA4MjI0OTksMTYwODExMDE5LDE2MDgxMDkxNSwxNjA4MTA5MTQsMTYwODEwNDU4LDE2MDgxMDQ1NywxNjA4MTA0NTYsMTYwODEwNDU1LDE2MDgxMDQ1NCwxNjA4MTAzNTMsMTYwNzk5NTU1LDE2MDc5MjQ1OSwxNjA3OTI0NTYsMTYwNzkyNDU1LDE2MDc5MjQ1NCwxNjA3OTI0NTEsMTYwNzkyNDUwLDE2MDc5MjQ0OSwxNjA3OTI0MzUsMTYwNzkyNDI4LDE2MDc5MjQyNywxNjA3OTI0MjYsMTYwNzkyNDI1LDE2MDc5MjQyNCwxNjA3OTI0MjMsMTYwNzkyNDIyLDE2MDc5MjQxNCwxNjA3OTI0MTEsMTYwNzkyNDA4LDE2MDc5MjQwMywxNjA3OTI0MDIsMTYwNzkyNDAxLDE2MDc5MjM5MiwxNjA3OTIzODgsMTYwNzkyMzg3LDE2MDc5MjM4NiwxNjA3OTIzODUsMTYwNzkyMzg0LDE2MDc5MjM2NSwxNjA3OTIzNjIsMTYwNzkyMzYxLDE2MDc5MjM2MCwxNjA3OTIzNTksMTYwNzkyMzU4LDE2MDc5MjM1NywxNjA3OTIzNTYsMTYwNzkyMzU1LDE2MDc5MjM1NCwxNjA3OTIzNTMsMTYwNzkyMzUyLDE2MDc5MjM1MSwxNjA3OTIzNTAsMTYwNzkwNjA4LDE2MDc5MDYwNywxNjA3OTA2MDQsMTYwNzkwNjAzLDE2MDc5MDYwMCwxNjA3OTA1OTYsMTYwNzkwNTk1LDE2MDc5MDU5NCwxNjA3Nzg3MjQsMTYwNzc4NzIzLDE2MDc3ODcyMiwxNjA3Nzg3MjEsMTYwNzc4NzIwLDE2MDc3ODcxOSwxNjA3Nzg3MTgsMTYwNzc4NzE3LDE2MDc3ODcxNiwxNjA3Nzg3MTUsMTYwNzc4NzE0LDE2MDc3ODcxMywxNjA3Nzg3MTIsMTYwNzY4MjMxLDE2MDc2NDE3NywxNjA3NjQxNTgsMTYwNzYyNTI0LDE2MDc2MjUyMywxNjA3NjI1MjIsMTYwNzYyNTIxLDE2MDc2MjUyMCwxNjA3NjI1MTksMTYwNzYyNTE4LDE2MDc2MjUxNywxNjA3NjI1MTYsMTYwNzYyNTE1LDE2MDc2MjQ5MiwxNjA3NjI0OTEsMTYwNzYyNDkwLDE2MDc2MjQ4OSwxNjA3NjI0ODgsMTYwNzYyNDg3LDE2MDc2MjQ4NiwxNjA3NTY4MDksMTYwNzU2Nzc5LDE2MDc1Njc0OSwxNjA3NTY3NDgsMTYwNzU2NzM4LDE2MDc1NjczNywxNjA3NTY3MjAsMTYwNzU2NzE5LDE2MDc1NjcxOCwxNjA3NTY3MTcsMTYwNzU2Njk1LDE2MDczNzIzNSwxNjA3MzcyMzQsMTYwNzM3MjMzLDE2MDczNzIzMiwxNjA3MzcyMzEsMTYwNzM3MjMwLDE2MDczNzIyOSwxNjA3MzcyMjgsMTYwNzM3MjI3LDE2MDczNzIyNiwxNjA3MzcyMjUsMTYwNzM3MjI0LDE2MDczNzE3MywxNjA3MzcxNzJdfX0seyJ0ZXJtIjp7ImlzX2RlbGV0ZWQiOjB9fV19fQ=="}','$.key')
> {code}
> result will be truncated in spark-sql.
> {code:java}
> val spark = SparkSession.builder
> .appName("test").master("local[1]")
> .getOrCreate
> import spark.implicits._ // << add this
> val sc = spark.sparkContext
> val rdd: RDD[Row] = sc.parallelize(Seq(
> Row("""{"key":"eyJib29sIjp7ImZpbHRlciI6W3sidGVybSI6eyJ3YXJlaG91c2VfaWQiOjMwfX0seyJ0ZXJtcyI6eyJpZCI6WzE2MTgzMjk3NywxNjE4MjM1OTgsMTYxODIzNTk3LDE2MTgyMzU5NiwxNjE4MjM1OTUsMTYxODAwMjI0LDE2MTgwMDIyMSwxNjE4MDAyMjAsMTYxODAwMjE5LDE2MTgwMDIxOCwxNjE4MDAyMTMsMTYxODAwMjEyLDE2MTgwMDIxMSwxNjE4MDAyMTAsMTYxODAwMjA2LDE2MTgwMDIwMiwxNjE4MDAyMDEsMTYxODAwMTk4LDE2MTgwMDE5NywxNjE4MDAxOTYsMTYxODAwMTk1LDE2MTgwMDE5NCwxNjE4MDAxOTMsMTYxODAwMTkyLDE2MTgwMDE5MSwxNjE4MDAxOTAsMTYxODAwMTg5LDE2MTc5NDAyOSwxNjEzNTg2ODMsMTYxMzU4NjExLDE2MTM1ODYxMCwxNjEzNTYzMTIsMTYxMzU0NzU5LDE2MTM1NDY5NywxNjEzNTQ2OTYsMTYxMzQ0NTkyLDE2MTM0NDUwNywxNjEzMzc2MzQsMTYxMzM3MjA2LDE2MTMwMDM4OCwxNjEzMDAzODcsMTYxMzAwMzg2LDE2MTI4ODAxMCwxNjEyODgwMDksMTYxMjc5NTI0LDE2MTI3OTUyMiwxNjEyNzk1MTUsMTYxMjc5NTE0LDE2MTI3OTUxMywxNjEyNzg5NzcsMTYxMjc4OTc2LDE2MTI3ODk0NCwxNjEyNzg5NDMsMTYwODk2NjM3LDE2MDg5NjYzNiwxNjA4NzQ0ODcsMTYwODc0NDg2LDE2MDg3NDQ2NywxNjA4NzQ0NjYsMTYwODc0NDY1LDE2MDg3NDQ2NCwxNjA4NzQ0NjMsMTYwODc0NDU2LDE2MDg3NDQ1NSwxNjA4NzQxNTksMTYwODc0MTU2LDE2MDg3NDE1NSwxNjA4NzQxNTIsMTYwODc0MTUxLDE2MDg3NDE1MCwxNjA4NzQxNDksMTYwODc0MTQ4LDE2MDg3NDE0NSwxNjA4NzQxNDQsMTYwODc0MTQzLDE2MDg3NDE0MiwxNjA4NzQxNDEsMTYwODc0MTQwLDE2MDg3NDEzNywxNjA4NzQxMzYsMTYwODc0MTMzLDE2MDg3NDEzMiwxNjA4MjI0OTksMTYwODExMDE5LDE2MDgxMDkxNSwxNjA4MTA5MTQsMTYwODEwNDU4LDE2MDgxMDQ1NywxNjA4MTA0NTYsMTYwODEwNDU1LDE2MDgxMDQ1NCwxNjA4MTAzNTMsMTYwNzk5NTU1LDE2MDc5MjQ1OSwxNjA3OTI0NTYsMTYwNzkyNDU1LDE2MDc5MjQ1NCwxNjA3OTI0NTEsMTYwNzkyNDUwLDE2MDc5MjQ0OSwxNjA3OTI0MzUsMTYwNzkyNDI4LDE2MDc5MjQyNywxNjA3OTI0MjYsMTYwNzkyNDI1LDE2MDc5MjQyNCwxNjA3OTI0MjMsMTYwNzkyNDIyLDE2MDc5MjQxNCwxNjA3OTI0MTEsMTYwNzkyNDA4LDE2MDc5MjQwMywxNjA3OTI0MDIsMTYwNzkyNDAxLDE2MDc5MjM5MiwxNjA3OTIzODgsMTYwNzkyMzg3LDE2MDc5MjM4NiwxNjA3OTIzODUsMTYwNzkyMzg0LDE2MDc5MjM2NSwxNjA3OTIzNjIsMTYwNzkyMzYxLDE2MDc5MjM2MCwxNjA3OTIzNTksMTYwNzkyMzU4LDE2MDc5MjM1NywxNjA3OTIzNTYsMTYwNzkyMzU1LDE2MDc5MjM1NCwxNjA3OTIzNTMsMTYwNzkyMzUyLDE2MDc5MjM1MSwxNjA3OTIzNTAsMTYwNzkwNjA4LDE2MDc5MDYwNywxNjA3OTA2MDQsMTYwNzkwNjAzLDE2MDc5MDYwMCwxNjA3OTA1OTYsMTYwNzkwNTk1LDE2MDc5MDU5NCwxNjA3Nzg3MjQsMTYwNzc4NzIzLDE2MDc3ODcyMiwxNjA3Nzg3MjEsMTYwNzc4NzIwLDE2MDc3ODcxOSwxNjA3Nzg3MTgsMTYwNzc4NzE3LDE2MDc3ODcxNiwxNjA3Nzg3MTUsMTYwNzc4NzE0LDE2MDc3ODcxMywxNjA3Nzg3MTIsMTYwNzY4MjMxLDE2MDc2NDE3NywxNjA3NjQxNTgsMTYwNzYyNTI0LDE2MDc2MjUyMywxNjA3NjI1MjIsMTYwNzYyNTIxLDE2MDc2MjUyMCwxNjA3NjI1MTksMTYwNzYyNTE4LDE2MDc2MjUxNywxNjA3NjI1MTYsMTYwNzYyNTE1LDE2MDc2MjQ5MiwxNjA3NjI0OTEsMTYwNzYyNDkwLDE2MDc2MjQ4OSwxNjA3NjI0ODgsMTYwNzYyNDg3LDE2MDc2MjQ4NiwxNjA3NTY4MDksMTYwNzU2Nzc5LDE2MDc1Njc0OSwxNjA3NTY3NDgsMTYwNzU2NzM4LDE2MDc1NjczNywxNjA3NTY3MjAsMTYwNzU2NzE5LDE2MDc1NjcxOCwxNjA3NTY3MTcsMTYwNzU2Njk1LDE2MDczNzIzNSwxNjA3MzcyMzQsMTYwNzM3MjMzLDE2MDczNzIzMiwxNjA3MzcyMzEsMTYwNzM3MjMwLDE2MDczNzIyOSwxNjA3MzcyMjgsMTYwNzM3MjI3LDE2MDczNzIyNiwxNjA3MzcyMjUsMTYwNzM3MjI0LDE2MDczNzE3MywxNjA3MzcxNzJdfX0seyJ0ZXJtIjp7ImlzX2RlbGV0ZWQiOjB9fV19fQ=="}""")
> ))
> val schema = StructType(
> List(
> StructField("x", StringType, true)
> ))
> val df = spark.createDataFrame(rdd, schema)
> df.withColumn("x2", get_json_object( $"x"
> , "$.key")).select("x2").show(false)
> {code}
> can result complete value, why does spark-sql behave differently with the program?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org