Calling a .py Function using DF from another file
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-16-2024 04:08 AM
I have created a file NBF_TextTranslation
spark = SparkSession.builder.getOrCreate() df_TextTranslation = spark.read.format('delta').load(textTranslation_path) def getMediumText(TextID, PlantName): df1 = spark.sql("SELECT TextID, PlantName, LanguageID, Short, Medium, Extended, Active FROM delta.`{0}` tt".format(textTranslation_path)) df2 = df1.filter((df1.PlantName == PlantName) & (df1.TextID == TextID) & (df1.LanguageID == '1033') & (df1.Active == "True")) medium_Value = df2.select('Medium').first()[0] return medium_Value
I am calling my function from file DimDepartment_Amit
%run "../Functions/NBF_TextTranslation" TextID = '106905303' PlantName = 'BKIZ' LanguageID = 1033 medium_value = getMediumText(TextID, PlantName) print(medium_value)
This part is working but when I am calling it from SQL.
sqlStatement = "\ SELECT\ PlantName as BK_PlantName,\ TextId,\ getMediumText(TextId, PlantName) as DepartmentName,\ FROM delta.`{0}`".format(src_path_Department) df_stgDimDepartment = spark.sql(sqlStatement) df_stgDimDepartment.show()
I am getting below error
Cannot resolve function getMediumText on search path [system.builtin, system.session, spark_catalog.default]. SQLSTATE: 42883; line 1 pos 167
1 REPLY 1
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-16-2024 06:37 AM
You should create a udf on top of getMediumText function and then use the udf in the sql statement.

