Capture data from SCADA system into HDFS(Hadoop DataLake) for analytics - stream

I am looking for a way where I can capture the PLC data from SCADA application in real time and store in hdfs (of a data lake) for analytics on it.
If it can be done, what are the possible ways to do it?
Any help or guidance will be really helpful.

Related

Storing data coming form cupcarbon into database

I am creating an IoT simulation using Cupcarbon IoT simulator. I want to store the simulation data in some database. Anyone, please help me how to do that.
A simple solution could be to use the command printfile.
With this command you will able to store in the file with the name results some data you will choose. Every sensor node could have its own result file.
Hope this works for you.
I would love to ready if you found another solution.
BR

What is the best way to implement offline data storage and sync to server in iOS

I want to implement offline data storage and sync data to server capability in myApplication.
I have tried to search google, and I have got options but all is related to cloud database like Firebase, Kinley.
but I want to add an offline capability to my app. and sync that data to our own server using API. How can I implement this in the best way? For now, I know about core data and Alamofire.
I am thinking about using these two implements offline and sync capability to my application.
Want to do following operation
I am going to store text data and images
background sync
want to store data for week or month.
whenever got network connection want to sync automatically.
Please suggest better way!!!!
I think the best way is Apple CoreData. Especially if you do not need to work with data base in multiple threads. There are also a lot of CoreData "wrappers" that simplifies work with it.
For the images, the best will be to save the images urls in core data, and the actual images in cache in some third party cache framework i.e: SDWebImage.
use MagicalRecord lib. for core data. its easy to implement.

How to sync application data and core data on iOS devices?

I need to sync application on a few iOS devices. My app manages audio, video and images data(up to 50 Mb). I'm using core data to save media files filesystem paths locally. But how do I should save media to sync with other devices? I thought about storing all data (including serialized to NSData all audio, video, image files) in core data and using core data with iCloud together... But I think it bad practice... Also I thought about storing all media files in iCloud using NSFileManager's api but how do I now when new files will come...
Please give me advice in solving my problem.
It might be worth considering DropBox's Sync API for iOS-
https://www.dropbox.com/developers/sync/start/ios
They've implemented a solution for syncing files that, while it may not be a viable commercial option for your project, it's free to experiment with and the code is worth taking a look at to get some ideas.
OR
Your app could intermittently poll your own server or iCloud to check for updates (on startup, every hour, etc).
Apple also has Push notifications, while pretty reliable, there's no guaranteed delivery of every message, so polling might be the surest way to check sync.

Best way to collect data for an iPad app that also have an offline mode

My client states in an iPad app brief that the data (i.e. products and images) must be taken from an online source and saved. However, the app must also have an offline mode which shows this same data from when the app was previously online for times when internet access is not available (kind of like an offline reader). What would be the best way to tackle this? Any help greatly appreciated.
Download the data when the device is online and store it locally using whatever mechanism seems most appropriate (SQLite, Core Data, property lists, your own file format, etc.). Use this cached data when offline, and when online too unless it has changed. Create some mechanism that you can use to detect and download updates (preferably just the changes) when online.
This will be a big help for your users not just when they're offline, but online too. 3G data plans for the iPad are usually limited, so the better you can avoid repeat downloads of large resources like images, the better for your users.

How do you track page views on a view

Is there a plugin for this or a gem that I can use. I was thinking about just writing it to a table when a view was called in the controller. Is this the best way? I see stackoverflow has this functionality how do they do it?
Google Analytics - Let Google or some other third-party analytics provider handle it for you for free. I don't think you want to do file writes on every page load - potentially costly. Another option is to store the information in memory and write to the database periodically instead of on every page load.
[EDIT] This is an interesting question. I asked for help on this issue of what's more efficient - db writes vs file writes - there's some good feedback there too.
If you just wanted to get something in there easily you could use a real time analytics provder like W3 Counter
It gives you real time data (as opposed to Google Analytics) and is relatively simple to deploy (a few lines in your global template) but may not give you the granularity that you want. I guess it depends on if you are wanting this information programmatically to display/use in the app or for statistical purposes.
Obviously, there are third party statistics services (Google Analytics, Mint, etc...), but if you must do it yourself then doing a write each time someone hits a page will seriously impact your DB.
I'd write individual hits to an intermediate file on the filesystem or memcached, then fire a task every 10 - 15 minutes that will parse that data and insert it into the database.

Resources