Java - есть ли способ запросить схему Apache Spark без итерации? - PullRequest
2 голосов
/ 17 июня 2019

Я пытаюсь выяснить, есть ли способ напрямую запросить структуру из схемы Spark, полученной из набора данных строк. Есть ли какой-нибудь Java-эквивалент, предоставленный Scala dataframe.schema ("nameOfStruct")?

Я пытался найти такую ​​встроенную функцию, но единственное, что я смог найти, - это пройтись по списку структур или создать итератор. Это кажется излишним, когда Scala предоставляет гораздо более простой способ выполнения задач, особенно если я не хочу проверять цикл или находить точный индекс нужной мне структуры.

//adding the metadata to a column
final Metadata metadata = new MetadataBuilder().putLong("metadataExample", 1).build();
final Dataset<Row> dfWithColumnMetadata = df1.withColumn("column_example", df.col("column_example"), metadata);

/*now I want to find the exact Struct and its metadata without having to loop through 
an array or create an iterator. However, the array version is the easiest way I could find. 
The con here is that I need to know the exact index of the column.*/
System.out.println(dfWithColumnMetadata.schema().fields()[0].metadata().toString());

Есть ли способ получить что-то вроде Scala df.schema ("column_example"). Metadata ()?

1 Ответ

0 голосов
/ 17 июня 2019

Я думаю, вы можете использовать:

dfWithColumnMetadata.schema().apply("column_example").metadata()
...