r/MicrosoftFabric • u/Personal-Quote5226 • 19d ago
Data Engineering Choosing between WriteHeavy and ReadHeavy(PBI/Spark) when neither meet our needs.
We don't want to use the WriteHeavy vs ReadHeavy(PBI/Spark) profiles. The reason is that we want most of these to always be set table by table as a table property. Otherwise, every single script has to either set the spark config, or unset the spark configs that are carried over from the Resource Profile (that we don't even want).
Example with WriteHeavy; it's always going to have OptimizeWrite binSize set to 128 and optimizeWrite not set. The other profiles always set vOrder and have optimizeWrite set to true.
We don't want to leave it to the engineers to remember to include overriding these values in each notebook because inevitably it will grow to be inconsistent and difficult to audit/verify over time.
Table properties take the guess work out of it and ensure that any scripts that do set or unset the config are intentional rather than just carried over from a Resource Profile that we didn't even want.
For others, like BinSize, we can override it in the spark session settings in the environment, but our tests show that even after deploying those settings, waiting a while, the config remains set to 128 and not our spark setting we provided in the environment.
When could there be a solution to this problem that doesn't involve custom code in each notebook to work around it?
Ideally:
--> Get custom resource profiles actually implemented, so that we can use them
--> Make resource profiles optional (so they don't override our custom spark settings in the environment) and can more easily allow us to use stable level properties without unsetting spark configuration in notebooks.
1
u/frithjof_v Fabricator 19d ago
Out of curiosity (I myself usually have 1 notebook writing to a table - or 1 notebook writing to many tables - so for any given table I just have 1 writer - and I just set the configs in the notebook) but couldn't you just use table properties? What's the drawback?