Мы не можем выполнить какое-либо соединение по выбору и другие операции в apachae spark java для поля uniqueidrowid.
Ниже приведен код, используемый для объединения двух наборов данных.
ManufacturerFileContent = ManufacturerFileContent .join(masterFileContent ,masterFileContent .col("uniqueidrowid").equalTo(ManufacturerFileContent .col("uniqueidrowidManufacturer")));
Мы даже пытались добавить обратную кавычку (`), а также переименовали столбец в другое имя, а также попытались добавить отдельный столбец monotonically_increasing_id, а затем присоединиться к этому общему столбцу, все усилия не увенчались успехом.
+-----------------------+--------------------+------+--------------------+--------------------------+
|uniqueidrowid | prods|Prefix| Prod ID| Normalized Manufacturer |
+-----------------------+--------------------+------+--------------------+--------------------------+
| 0x000000000835ae0a| aa 96K107 | QQa| 9396K107| null|
| 0x000000000835ae0b| ff S-641-F-88 | THa| dS-641-F-88| null|
| 0x000000000835ae0c| gg Sff RIG-2549 | GaE| SfM RIG-2549| null|
-----------------------------------------------------------------------------------------------------
мы пытались монотонно увеличивать, чтобы создать новый столбец для объединения, но проблема не решена
masterFileContent = masterFileContent.repartition(1).withColumn("rowidsource", monotonically_increasing_id());
org.apache.spark.sql.AnalysisException: Не удается разрешить имя столбца "uniqueidrowid" среди (uniqueidrowid, prods, Prefix,...