Hallo zusammen,
oben genannten Fehler tritt bei mir häufiger bei der Arbeit mit dem KeyValueSpreadsheet auf.
Wenn ich nicht die Möglichkeit habe, die in der Map verwendeten Keys oder Values zu kürzen, lass ich das KeyValue-Map einfach weg und iteriere über den SpreadsheetMapper selbst. Mit einem relativ kleinen Skript kann man sich ja selbst die Funktionalität des KeyValue-Map zusammenbasteln.
Eigentlich präferiere ich das KeyValueSpreadsheet gegenüber der Iteration übers Spreadsheet, da der Code kompakter und einfacher zu lesen ist. Leider wird der Nutzen des KeyValueSpreadsheets durch das Limit auf 300kB stark limitiert.
Dazu kommt, dass das KeyValue-Map vermutlich performanter ist als die Iteration übers Spreadsheet.
Ich nehme an, das ganze läuft auf einen Tradeoff zwischen Arbeitsspeicher und Prozessorlast hinaus. Die Iteration verursacht mehr Prozessorlast, kostet aber weniger Arbeitsspeicher. Wobei ich nicht ganz nachvollziehen kann, wieso es bei dem KeyValueSpreadsheet so ein Limit gibt, während ich mittels der Caching-Funktion ein ganzen Spreadsheet mit hunderten Spalten und tausenden Einträgen speichern kann. Liegen die gecachten Spreadsheets nicht im Arbeitsspeicher, die KeyValue-Map aber doch?
Das Limit wurde ja letztes Jahr erst auf Anfrage verdoppelt. Ich frage mich, ob es überhaupt Sinn macht, hier ein Limit zu setzen? Können große KeyValue-Maps nicht einfach wie gecachte Spreadsheets gehandhabt werden?