У меня есть фрейм данных со столбцом Timestamp, столбцом Tag и столбцом Value. Я сделал такой поворот:
df = df.groupBy("Timestamp").pivot("Tag").mean()
, который работает хорошо, дает мне то, что я хочу. Когда я показываю столбцы, я получаю
df.columns
----------------------------------------
['Timestamp', 'TAG:Tag1.val', 'TAG:Tag2.val', 'TAG:Tag3.val']
Но затем, когда я пытаюсь выбрать столбец, у меня появляется эта ошибка:
df.select('TAG:Tag1.val')
----------------------------------------
org.apache.spark.sql.AnalysisException: cannot resolve '`TAG:Tag1.val`' given input columns: [Timestamp, TAG:Tag1.val, TAG:Tag2.val, TAG:Tag3.val];;
Я пытался дать имя напрямую, используя df.columns[0], df.schema.fieldNames()
, выполнив df=df.toDF(*df.schema.fieldNames())
перед выбором.
Всегда одно и то же сообщение об ошибке. Знаете ли вы, почему это происходит?
Я также пытался жестко закодировать список столбцов в .pivot("Tag", list_tags)
, получил тот же результат.
Я также должен сказать вам, что выбор Timestamp работает отлично хорошо.