I have a dataframe: precisionCols, with one column.
val spColsDF = spark.read.format("jdbc").option("url",hiveMetaConURL)
.option("dbtable", "(select source_columns, precision_columns from bdmerge.scope_tables where tablename='schema.casting') as colsPrecision")
.option("user", metaUserName)
.option("password", metaPassword)
.load()
val precisionCols = spColsDF.select("precision_columns")
There are only three rows in the dataframe:
precisionCols.collect.foreach(println) => [ptd_balance,qtd_balance,ytd_balance]
I need to concat the column values with a String "_text" and change them to ptd_balance_text,qtd_balance_text,ytd_balance_text
I tried the below ways but I am doing it wrong somehow:
- precisionCols.withColumn("precision_columns_text", precisionCols("precision_columns") + lit("_text"))
- precisionCols.withColumn("precision_columns_text", precisionCols("precision_columns") + "_text")
Input Data:
-----------------
precision_columns
-----------------
ptd_balance
qtd_balance
ytd_balance
The output comes as:
[ptd_balance,qtd_balance,ytd_balance_text]
The output I am trying to get is:
-----------------
precision_columns
-----------------
ptd_balance_text
qtd_balance_text
ytd_balance_text
Could anyone let me know how to concat a String to existing columns to create a new DataFrame ?