Удалите начальные и конечные главы для столбца улья - PullRequest
1 голос
/ 04 августа 2020

У меня есть столбец куста, в котором неизвестные числа ведущих и завершающих двойных кавычек в столбце. Столбец также имеет двойные кавычки внутри данных.

Например, столбец выглядит так

enter image description here

I want output like below

введите описание изображения здесь

Я написал код pyspark, где я могу просто удалить ", и он работает, но мне нужно решение в hql. Я также пробовал regexp_replace, например,

regexp_replace(test,'^"|^""|""$|"$', "")

, но Это своего рода жесткое кодирование. Может ли кто-нибудь предоставить для этого общее c решение?

1 Ответ

1 голос
/ 04 августа 2020

Попробуйте это -

val df = spark.sql("select '\"\"\"56\"7\"' as test")
    df.show(false)
    /**
      * +--------+
      * |test    |
      * +--------+
      * |"""56"7"|
      * +--------+
      */
    df.createOrReplaceTempView("table")
    spark.sql("select test, regexp_replace(test, '^\"+|\"+$', '') as test_new from table")
      .show(false)

    /**
      * +--------+--------+
      * |test    |test_new|
      * +--------+--------+
      * |"""56"7"|56"7    |
      * +--------+--------+
      */
...