org. apache .spark. sql .catalyst.parser.ParseException: ошибка при вставке статистики в таблицу. - PullRequest
0 голосов
/ 25 февраля 2020

У меня возникает эта ошибка при вставке статистики в таблицу:

org. apache .spark. sql .catalyst.parser.ParseException

df_tables = spark.sql("show tables from default");
table_list = df_tables.rdd.map(lambda x : x[1]).collect()
for table_name in table_list:
  df = spark.sql("select * from " + table_name +" ")
  col_list = df.columns
  for i in col_list:
    col_df = spark.sql("select "+ i +" from "+ table_name +" ") 

Чтобы вычислить статистику таблицы:

col_total_count = col_df.count()
    col_distinct_count = col_df.select(i).distinct().count()
    col_duplicate_count = col_df.groupBy(i).count().where("count > 1").count()
    col_null = col_df.where(col_df[i].isNull()).count()
    if col_total_count != 0:
      null_prcnt = ((col_null/col_total_count)* 100)
    else:
      null_prcnt = 0
    if (col_df.dtypes[0][1] == "int"):
      col_avg = col_df.select(avg(i)).count()
      max_value = col_df.groupBy().max(i).rdd.map(lambda x : x[0]).collect()[0]
      min_value = col_df.groupBy().min(i).rdd.map(lambda x : x[0]).collect()[0] 

Вставить запрос, чтобы вставить все значения в таблицу, получая ошибку при выполнении запроса ниже:

query = "insert into Practise.dummyT " + table_name + ", " + str(i) + ", " + str(col_total_count) + ", " + str(col_distinct_count) + ", " + str(col_duplicate_count) + ", " + str(null_prcnt) + "," + str(col_avg) + ", " + str(max_value) + ", " + str(min_value) + ""
spark.sql(query);      
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...