Azure Databricks使用islow()函數分析列名稱是否小寫

這是我在pyspark上的邏輯:

df2 = spark.sql(f" SELECT tbl_name, column_name, data_type, current_count FROM {database_name}.{tablename}")

query_df = spark.sql(f"SELECT tbl_name, COUNT(column_name) as `num_cols` FROM {database_name}.{tablename} GROUP BY tbl_name")            
                       
df_join = df2.join(query_df,['tbl_name'])  

然后我想在Dataframe中添加另一個名為'column_case_lower的列,并使用islow()函數分析columns_names是否為小寫。

我使用這種邏輯進行分析:

df_join.withColumn("column_case_lower",
        when((col("column_name").islower()) == 'true'.otherwise('false'))

--錯誤為:分析時出現意外EOF

期待著這樣的事情:

? 最佳回答:

islower()不能應用于列類型。請使用下面使用UDF的代碼。

def checkCase(col_value):
    return col_value.islower()
    
from pyspark.sql.functions import col, udf
from pyspark.sql.types import StringType

checkUDF = udf(lambda z: checkCase(z),StringType())

from pyspark.sql.functions import col,when
df.withColumn("new_col", when(checkUDF(col('column_name')) == True,"True")
                                 .otherwise("False")).show()

主站蜘蛛池模板: 色多多免费视频观看区一区| 成人免费视频一区二区| 精品乱子伦一区二区三区高清免费播放 | 国产SUV精品一区二区88| 国产一区二区在线观看视频| 高清一区二区三区日本久| 国偷自产视频一区二区久| 亚洲av无码一区二区三区不卡 | 精品一区二区三区水蜜桃| 精品国产鲁一鲁一区二区| 国产一区二区精品久久岳| 国产视频一区二区| 影音先锋中文无码一区| 久久精品一区二区东京热| 久草新视频一区二区三区| 亚洲国产一区二区视频网站| 国产日韩精品一区二区三区| 亚洲av无码一区二区三区人妖| 日韩一区二区三区无码影院| 伊人色综合一区二区三区| 精品一区二区三区高清免费观看 | 国产在线一区观看| 日本一区二区三区在线看| 国产日韩综合一区二区性色AV| 国产一区二区精品久久91| 日韩一区二区三区在线观看| 国产综合视频在线观看一区 | 中文字幕一区二区三区在线播放 | 国内国外日产一区二区| 久久久久女教师免费一区| 精品人妻一区二区三区毛片| 日产一区日产2区| 久久精品一区二区三区资源网 | 国产在线精品一区二区三区直播| 国产一区二区三区不卡在线观看| 日本一区二区三区在线网| 熟女少妇精品一区二区| 一区二区视频在线播放| 亚洲av成人一区二区三区观看在线 | 久久综合一区二区无码| 国模少妇一区二区三区|