I try to answer some of your questions here.
The diagram you posted for the architecture of ThingWorx > DataConnect > ThingWorx Analytics is typically used to collect historic data from ThingWorx to send to ThingWorx analytics in order to build a predictive model. As such this is not real time.
To perform real time scoring you will use ThingPredictor that will then take in new values and predict the goal in near real time . See this article for video on seting up and using ThignPredictor Article Viewer | PTC . Help Center wil lalso be very valuable : https://support.ptc.com/help/thingworx_hc/thingworx_analytics_8/#page/thingworx_analytics_8%2Fthingpredictor%2Fthingpredictor-overview.html%23
In term of connecting DataConnect or Analytics to an external Spark, I don't think this will be possible. Spark is a component used but it does not do all the job, Analytics adds its own twist to it. This means also that connecting to ThingWorx Analytics Spark won't be useful (not sure if it is possible ) either since it does not contains the results of ThingWorx Analytics.
I can't comment on using PowerBI, maybe others might have some input on this.
Hope this helps