Rudhra Raveendran
05/11/2023, 6:43 PMMatthew Powers
05/11/2023, 6:54 PMRudhra Raveendran
05/11/2023, 7:22 PMMatthew Powers
05/11/2023, 8:08 PMmy_cool_table
DROP COLUMN language”)`spark.sql("ALTER TABLE delta.`path/to/my_cool_table` DROP COLUMN language")
Rudhra Raveendran
05/11/2023, 9:57 PMspark.sql("SELECT * FROM delta.`<abfss://container@account/path/to/data>`")
Where path/to/data has the _delta_log folder, but that gave an error:
org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.IllegalArgumentException: null path
, am I writing the path wrong?Gerhard Brueckl
05/15/2023, 7:34 AMspark.sql(
"""ALTER TABLE `my_cool_table` SET TBLPROPERTIES (
'delta.columnMapping.mode' = 'name',
'delta.minReaderVersion' = '2',
'delta.minWriterVersion' = '5')"""
)
• could very well also be that this is not yet working on Azure Synapse due to an older version of Delta Lake 🤔Rudhra Raveendran
05/15/2023, 5:58 PMspark.sql(
"""ALTER TABLE delta.`<abfss://container@account/path/to/data>` SET TBLPROPERTIES (
'delta.columnMapping.mode' = 'name',
'delta.minReaderVersion' = '2',
'delta.minWriterVersion' = '5')"""
)
But that resulted in the same null path error. I'll try reaching out on the Synapse forums/support and see if this is a known issue on Synapse!Gerhard Brueckl
05/15/2023, 8:50 PMabfss://<container>@<account>.<http://dfs.core.windows.net/MyTable|dfs.core.windows.net/MyTable>
Rudhra Raveendran
05/15/2023, 10:01 PMabfss://<container>@<account>.<http://dfs.core.windows.net/path/to/table|dfs.core.windows.net/path/to/table>
contains special characters, e.g. "=" in the path, could that cause this error? And if so, are there any workarounds?Gerhard Brueckl
05/16/2023, 7:18 AM=
would be %3D
then
https://www.w3schools.com/tags/ref_urlencode.ASP
I am using this configurationRudhra Raveendran
05/16/2023, 6:33 PMimport org.apache.hadoop.fs.Path
import org.apache.spark.sql.delta.catalog.DeltaTableV2
import org.apache.spark.sql.delta.commands.{AlterTableDropColumnsDeltaCommand, AlterTableSetPropertiesDeltaCommand}
val tablePath = "<abfss://container@storage.dfs.core.windows.net/path/to/data>"
val deltaTableV2 = DeltaTableV2(
spark,
new Path(tablePath)
)
AlterTableSetPropertiesDeltaCommand(
deltaTableV2,
Map(
"delta.columnMapping.mode" -> "name",
"delta.minReaderVersion" -> "2",
"delta.minWriterVersion" -> "5"
)
).run(
spark
)
AlterTableDropColumnsDeltaCommand(
deltaTableV2,
Seq(Seq("columnName"))
).run(spark)
spark.read.format("delta").load(tablePath).printSchema()