Created on 04-25-2017 05:13 PM
A - Key components needed to make use of time series data provided by the OSIsoft Pi System
B - Ways HDF can be used to access data from the Pi System and move it into the data lake -
Bottom line - If one is just trying to prove HDF or HDP the least resistance path would be the file option to get the customer started very quickly
Additional notes
If you find very old instances of PI Server there is a real performance concern for the “bulk load” situation regardless of the access method. If you plan to load any large quantity of historical data from a PI Server, then the PI Server will 1) retrieve binary storage files that cover the selected range 2) decompose those files and 3) serve your client the data. To accomplish these steps, the server must load the necessary binaries into memory and then have the spare processing capacity to rip the binary. If you have years and years of data to bring over start small and scale up. If the number of data points in the server server has not changed frequently, look at the PI Archive Files to get an idea of what average amount of time a binary covers and try selecting a range that covers one binary, then two, then three and so on.
Another thing to look for in this bulk loading step: Often there are two PI Servers the first is close to the asset(s) then a second where data from the first is replicated to where most of the Enterprise applications connect to. You will always want to work on the second. If you bring it down, you will only interrupt the customers reporting tasks and not their data collection.
After the bulk loading step if you have a requirement to continuously acquire data from the PI server then you should ask the PI Admin to treat Apache Nifi like any other client and plan for performance accordingly. Often the challenge here is impact of a frequent select * from the real time database which amounts to a significant performance hit.
Secondly keep in mind you are often NOT GETTING RAW DATA you will be getting interpolated data. Increasing Nifi's polling frequency does not necessarily increase the resolution of the acquired data. If updates are requested faster than the PI Server itself is acquiring data then all that is returned is interpolations between the samples. This can impact data science calculations and analyst using this data must be aware this has happened.
The last piece to cover is error handling. As above, the most straight forward method is the file based approach. When a connection to the enterprise historian is broken files will accumulate on the local server and Nifi will start moving them again when the back pressure falls. All of the programmatic data access methods error logic will have to be built for loss of upstream connectivity, loss of downstream connectivity and late arriving data.
Created on 05-31-2017 08:50 PM
Hi @wsalazar ,
Your article mostly talked about PI System , should this be the same for MatrikonOPC.??
Can MiNiFi \ NiFi be able to read files from it using OPC DA and HDA specifications.?
http://www.matrikonopc.com/opc-drivers/518/index.aspx#html
Regards,Sai
Created on 07-06-2017 10:14 PM
For matrikon you need to enable the OPC UA server and use the UA processor provided by
https://community.hortonworks.com/articles/90355/collect-data-from-opc-ua-protocol.html
This article
https://community.hortonworks.com/articles/88649/control-system-data-from-kepware.html is a closer guide to connecting to Matrikon.
Comment back here if you need more help to get this working
Created on 08-04-2017 02:52 PM
One additional strategy that I recommend is using the OSI PI SDK and the OPC UA stack from the OPC foundation to build a OPC UA server for PI. This should be very straight forward to implement and can be scoped down to only implement the features necessary. I hope with growing demand for OPC UA that this is something that OSISoft will make available in the same way OPC DA is today.
You can find more information regarding the Pi SDK in
https://techsupport.osisoft.com/Products/Other-Products/PI-SDK/Overview
and you can find the OPC UA Stack from the OPC foundation here
Created on 04-15-2021 03:58 PM
Thanks @wsalazar for the insights. I know it is an older article, but it is worth revisiting. For real time data need what would approach would you take to connect from NiFi?