Tengo un Spark Dataset similar al siguiente ejemplo:
0 1 2 3 +------+------------+--------------------+---+ |ItemID|Manufacturer| Category |UPC| +------+------------+--------------------+---+ | 804| ael|Brush & Broom Han...|123| | 805| ael|Wheel Brush Parts...|124| +------+------------+--------------------+---+Necesito encontrar la posición de una columna buscando en el encabezado de la columna.
Por ejemplo:
int position=getColumnPosition("Category");Esto debería devolver 2.
¿Hay alguna función de Spark compatible con el tipo de Dataset<Row> para encontrar el índice de la columna o alguna función de Java que pueda ejecutarse en el conjunto de datos de Spark?
Debe acceder al esquema y leer el índice del campo de la siguiente manera:
int position = df.schema().fieldIndex("Category");He usado el atributo de índice para las listas:
df.columns.index(column_name)Puede considerar esta opción (implementación de Scala):
def getColumnPosition(dataframe: DataFrame, colName: String): Int = { dataframe.columns.indexOf(colName) }