Tuesday, May 10, 2016

Developing a Simple MapReduce Application

Developing a MapReduce Application - Beginner's Steps

The Configuration API
Components in Hadoop are configured using Hadoop’s own configuration API. An
instance of the Configuration class (found in the org.apache.hadoop.conf package)
represents a collection of configuration properties and their values. Each property is
named by a String, and the type of a value may be one of several types, including Java
primitives such as boolean, int, long, float, and other useful types such as String, Class,
java.io.File, and collections of Strings.

Configuring the Development Environment
The first step is to download the version of Hadoop that you plan to use and unpack
it on your development machine. Then, in your favorite IDE, create a new project and add all the JAR files from the top level of the unpacked distribution and from the lib directory to the classpath. You will then be able to compile Java Hadoop programs and run them in local (standalone) mode within the IDE.

Managing Configuration
When developing Hadoop applications, it is common to switch between running the
application locally and running it on a cluster. You may have a local “pseudo-distributed” cluster that you like to
test on (a pseudo-distributed cluster is one whose daemons all run on the local machine).


GenericOptionsParser, Tool, and ToolRunner
Hadoop comes with a few helper classes for making it easier to run jobs from the
command line. GenericOptionsParser is a class that interprets common Hadoop
command-line options and sets them on a Configuration object for your application to
use as desired. You don’t usually use GenericOptionsParser directly, as it’s more
convenient to implement the Tool interface and run your application with the
ToolRunner, which uses GenericOptionsParser internally:


Writing a Unit Test
The map and reduce functions in MapReduce are easy to test in isolation, which is a
consequence of their functional style. For known inputs, they produce known outputs.


Testing the Driver
Apart from the flexible configuration options offered by making your application implement
Tool, you also make it more testable because it allows you to inject an arbitrary
Configuration. You can take advantage of this to write a test that uses a local job runner
to run a job against known input data, which checks that the output is as expected.


Running on a Cluster
If you  are happy with the program running on a small test dataset, you are ready
to try it on the full dataset on a Hadoop cluster.

The MapReduce Web UI
Hadoop comes with a web UI for viewing information about your jobs. It is useful for
following a job’s progress while it is running, as well as finding job statistics and logs
after the job has completed.

For more complex problems, it is worth considering a higher-level language than Map-
Reduce, such as Pig, Hive, Cascading, Cascalog, or Crunch. One immediate benefit is
that it frees you up from having to do the translation into MapReduce jobs, allowing
you to concentrate on the analysis you are performing.


O'Reilly Webcast: An Introduction to Hadoop
O'Reilly
_________________

_________________

12 Developing Word Count Map Reduce Example
nataraz Java
_________________

_________________


Hadoop Map Reduce Development - Map Reduce API introduction
itversity
_________________

_________________



Hadoop Notes and Video Lectures


What is Hadoop? Text and Video Lectures

What is MapReduce? Text and Video Lectures

The Hadoop Distributed Filesystem (HDFS)

Hadoop Input - Output System



Hadoop Input - Output System

Hadoop I/O

Hadoop comes with a set of primitives for data I/O.

Data Integrity
Users of Hadoop rightly expect that no data will be lost or corrupted during storage or
processing. For this purpose, a commonly used error-detecting code is CRC-32 (cyclic redundancy check), which computes a 32-bit integer checksum for input of any size. Data Integrity in HDFS
HDFS transparently checksums all data written to it and by default verifies checksums
when reading data. A separate checksum is created for every io.bytes.per.checksum bytes of data.

Datanodes are responsible for verifying the data they receive before storing the data
and its checksum. This applies to data that they receive from clients and from other
datanodes during replication. When clients read data from datanodes, they verify checksums as well, comparing them with the ones stored at the datanode. Since HDFS stores replicas of blocks, it can “heal” corrupted blocks by copying one of the good replicas to produce a new, uncorrupt replica.

LocalFileSystem
The Hadoop LocalFileSystem performs client-side checksumming. This means that
when you write a file called filename, the filesystem client transparently creates a hidden
file, .filename.crc, in the same directory containing the checksums for each chunk of
the file.

ChecksumFileSystem
LocalFileSystem uses ChecksumFileSystem to do its work, and this class makes it easy
to add checksumming to other (nonchecksummed) filesystems, as Checksum
FileSystem is just a wrapper around FileSystem.

Compression
File compression brings two major benefits: it reduces the space needed to store files,
and it speeds up data transfer across the network, or to or from disk.

Codecs
A codec is the implementation of a compression-decompression algorithm. In Hadoop,
a codec is represented by an implementation of the CompressionCodec interface.

Compressing and decompressing streams with CompressionCodec

CompressionCodec has two methods that allow you to easily compress or decompress
data. To compress data being written to an output stream, use the createOutput
Stream(OutputStream out) method to create a CompressionOutputStream to which you
write your uncompressed data to have it written in compressed form to the underlying
stream. Conversely, to decompress data being read from an input stream, call
createInputStream(InputStream in) to obtain a CompressionInputStream, which allows
you to read uncompressed data from the underlying stream.

Inferring CompressionCodecs using CompressionCodecFactory

If you are reading a compressed file, you can normally infer the codec to use by looking
at its filename extension. A file ending in .gz can be read with GzipCodec, and so on.

Compression and Input Splits
When considering how to compress data that will be processed by MapReduce, it is
important to understand whether the compression format supports splitting.

Using Compression in MapReduce
If your input files are compressed, they will be automatically
decompressed as they are read by MapReduce, using the filename extension to determine
the codec to use.

To compress the output of a MapReduce job, in the job configuration, set the
mapred.output.compress property to true and the mapred.output.compression.codec
property to the classname of the compression codec you want to use.

Serialization
Serialization is the process of turning structured objects into a byte stream for transmission
over a network or for writing to persistent storage. Deserialization is the reverse
process of turning a byte stream back into a series of structured objects.
Serialization appears in two quite distinct areas of distributed data processing: for
interprocess communication and for persistent storage.

The Writable Interface
The Writable interface defines two methods: one for writing its state to a DataOutput
binary stream, and one for reading its state from a DataInput binary stream:

Writable Classes
Hadoop comes with a large selection of Writable classes in the org.apache.hadoop.io
package.

Text
Text is a Writable for UTF-8 sequences. It can be thought of as the Writable equivalent
of java.lang.String.

Writable collections
There are six Writable collection types in the org.apache.hadoop.io package: Array
Writable, ArrayPrimitiveWritable, TwoDArrayWritable, MapWritable, SortedMapWrita
ble, and EnumSetWritable.

Avro
Apache Avro is a language-neutral data serialization system. The project was created
by Doug Cutting (the creator of Hadoop) to address the major downside of Hadoop
Writables: lack of language portability.

File-Based Data Structures
For some applications, you need a specialized data structure to hold your data. For
doing MapReduce-based processing, putting each blob of binary data into its own file
doesn’t scale, so Hadoop developed a number of higher-level containers for these
situations.

Hadoop Input and Output format from www.HadoopExam.com
hadoop pass
__________________

__________________

What is Hadoop SequenceFile?
hadoop pass
__________________

__________________


Hadoop Notes and Video Lectures


What is Hadoop? Text and Video Lectures

What is MapReduce? Text and Video Lectures

The Hadoop Distributed Filesystem (HDFS)

Hadoop Input - Output System



The Hadoop Distributed Filesystem (HDFS)



The Hadoop Distributed Filesystem


When a dataset outgrows the storage capacity of a single physical machine, it becomes necessary to partition it across a number of separate machines. Filesystems that manage the storage across a network of machines are called distributed filesystems. Since they are network-based, the complications of network programming have to be managed. Therefore, distributed file systems are more complex than regular disk file systems. One of the biggest challenges is making the filesystem tolerate node failure without suffering data loss.


Hadoop comes with a distributed filesystem called HDFS, which stands for Hadoop Distributed Filesystem.

HDFS Concepts

Blocks
A disk has a block size, which is the minimum amount of data that it can read or write. Filesystems for a single disk build on this by dealing with data in blocks, which are an integral multiple of the disk block size. Filesystem blocks are typically a few kilobytesin size, while disk blocks are normally 512 bytes. HDFS, too, has the concept of a block, but it is a much larger unit—64 MB by default.
Like in a filesystem for a single disk, files in HDFS are broken into block-sized chunks,which are stored as independent units.

Namenodes and Datanodes
An HDFS cluster has two types of node operating in a master-worker pattern: a namenode(the master) and a number of datanodes (workers). The namenode manages the filesystem namespace. It maintains the filesystem tree and the metadata for all the files and directories in the tree.

Datanodes are the workhorses of the filesystem. They store and retrieve blocks when they are told to (by clients or the namenode), and they report back to the namenode periodically with lists of blocks that they are storing.


HDFS Federation

HDFS Federation, introduced in the 0.23 release series, allows a cluster to scale by adding namenodes, each of which manages a portion of the filesystem namespace.

HDFS High-Availability

The 0.23 release series of Hadoop provides support for HDFS high-availability (HA). In this implementation there is a pair of namenodes in an activestandby configuration. In the event of the failure of the active namenode, the standby takes over its duties to continue servicing client requests without a significant interruption.

The Command-Line Interface

Basic Filesystem Operations

Interfaces
Hadoop is written in Java, and all Hadoop filesystem interactions are mediated through the Java API. The filesystem shell, for example, is a Java application that uses the Java FileSystem class to provide filesystem operations.

HTTP

There are two ways of accessing HDFS over HTTP: directly, where the HDFS daemons serve HTTP requests to clients; and via a proxy (or proxies), which accesses HDFS onthe client’s behalf using the usual DistributedFileSystem API.

FUSE
Filesystem in Userspace (FUSE) allows filesystems that are implemented in user space to be integrated as a Unix filesystem.

Writing Data
The FileSystem class has a number of methods for creating a file. The simplest is the method that takes a Path object for the file to be created and returns an output stream

Directories
FileSystem provides a method to create a directory:

Data Flow
Anatomy of a File Read


Step 1
The client opens the file it wishes to read by calling open() on the FileSystem object,
which for HDFS is an instance of DistributedFileSystem .

Step 2
DistributedFileSystem calls the namenode, using RPC, to determine the locations of
the blocks for the first few blocks in the file . For each block, the namenode
returns the addresses of the datanodes that have a copy of that block. Furthermore, the
datanodes are sorted according to their proximity to the client (according to the topology
of the cluster’s network;). If
the client is itself a datanode (in the case of a MapReduce task, for instance), then it
will read from the local datanode, if it hosts a copy of the block.
The DistributedFileSystem returns an FSDataInputStream (an input stream that supports
file seeks) to the client for it to read data from. FSDataInputStream in turn wraps
a DFSInputStream, which manages the datanode and namenode I/O.

Step 3
The client then calls read() on the stream. DFSInputStream, which has stored
the datanode addresses for the first few blocks in the file, then connects to the first
(closest) datanode for the first block in the file.

Step 4
Data is streamed from the datanode back to the client, which calls read() repeatedly on the stream .

Step 5
When the endof the block is reached, DFSInputStream will close the connection to the datanode, then
find the best datanode for the next block. Blocks are read in order with the DFSInputStream opening new connections to datanodes as the client reads through the stream. It will also call the namenode to retrieve the datanode locations for the next batch of blocks as needed.

Step 6
When the client has finished reading, it calls close() on the FSDataInputStream.




Anatomy of a File Write

Step 1
The client creates the file by calling create() on DistributedFileSystem.

Step 2
DistributedFileSystem makes an RPC call to the namenode to create a new
file in the filesystem’s namespace, with no blocks associated with it. The namenode
performs various checks to make sure the file doesn’t already exist, and that the
client has the right permissions to create the file. If these checks pass, the namenode
makes a record of the new file; otherwise, file creation fails and the client is thrown an
IOException. The DistributedFileSystem returns an FSDataOutputStream for the client
to start writing data to. Just as in the read case, FSDataOutputStream wraps a DFSOutput
Stream, which handles communication with the datanodes and namenode.

Step 3
As the client writes data, DFSOutputStream splits it into packets, which it writes
to an internal queue, called the data queue. The data queue is consumed by the Data
Streamer, whose responsibility it is to ask the namenode to allocate new blocks by
picking a list of suitable datanodes to store the replicas. The list of datanodes forms a
pipeline—we’ll assume the replication level is three, so there are three nodes in the
pipeline. The DataStreamer streams the packets to the first datanode in the pipeline,
which stores the packet and forwards it to the second datanode in the pipeline.

Step 4
Similarly, the second datanode stores the packet and forwards it to the third (and last)
datanode in the pipeline.


Step 5.
DFSOutputStream also maintains an internal queue of packets that are waiting to be
acknowledged by datanodes, called the ack queue. A packet is removed from the ack
queue only when it has been acknowledged by all the datanodes in the pipeline.

Step 6
When the client has finished writing data, it calls close() on the stream.

Step 7
This action flushes all the remaining packets to the datanode pipeline and waits for acknowledgments
before contacting the namenode to signal that the file is complete. The namenode already knows which blocks the file is made up of (via Data Streamer asking for block allocations), so it only has to wait for blocks to be minimally replicated before returning successfully.


Coherency Model
A coherency model for a filesystem describes the data visibility of reads and writes for a file. HDFS trades off some POSIX requirements for performance, so some operations may behave differently than you expect them to.


Parallel Copying with distcp


Hadoop comes with a useful program called distcp for copying large amounts of data to and from Hadoop filesystems in parallel.

Keeping an HDFS Cluster Balanced
When copying data into HDFS, it’s important to consider cluster balance. HDFS works best when the file blocks are evenly spread across the cluster, so you want to ensure that distcp doesn’t disrupt this

Hadoop Archives
Hadoop Archives, or HAR files, are a file archiving facility that packs files into HDFS blocks more efficiently, thereby reducing namenode memory usage while still allowing transparent access to files. In particular, Hadoop Archives can be used as input to MapReduce

Excertps from  Hadoop: The Definitive Guide, Tom White, Pub by O'Reilly

Video: Hadoop Distributed File System (HDFS) Introduction

Hortonworks
_________________

_________________

Vidoe - Hadoop Distributed File System HDFS

Hadoop Online Training
________________

________________


Hadoop Notes and Video Lectures


What is Hadoop? Text and Video Lectures

What is MapReduce? Text and Video Lectures

The Hadoop Distributed Filesystem (HDFS)

Hadoop Input - Output System




What is MapReduce? Text and Video Lectures

MapReduce

MapReduce is a programming model for data processing. Hadoop can run MapReduce programs written in various languages; like Java, Ruby, Python, and C++.  MapReduce programs are inherently
parallel, thus putting very large-scale data analysis into the hands of anyone with enough machines at their disposal. MapReduce comes into its own for large datasets.

Map and Reduce
MapReduce works by breaking the processing into two phases: the map phase and the reduce phase. Each phase has key-value pairs as input and output, the types of which may be chosen by the programmer. The programmer also specifies two functions: the map function and the reduce function.



To scale out, we need to store the data in a distributed filesystem, typically HDFS , to allow Hadoop to move the MapReduce computation to each machine hosting a part of the data.


Data Flow
A MapReduce job is a unit of work that the client wants to be performed: it consists of the input data, the MapReduce program, and configuration information. Hadoop runs the job by dividing it into tasks, of which there are two types: map tasks and reduce tasks.



Hadoop does its best to run the map task on a node where the input data resides in
HDFS. This is called the data locality optimization since it doesn’t use valuable cluster
bandwidth.

What is MapReduce?
IBM Analytics
_________________

_________________

Introduction to MapReduce
Hortonworks
_________________

__________________



Hadoop Notes and Video Lectures


What is Hadoop? Text and Video Lectures

What is MapReduce? Text and Video Lectures

The Hadoop Distributed Filesystem (HDFS)

Hadoop Input - Output System




What is Hadoop? Text and Video Lectures

Hadoop provides: a reliable shared storage and analysis system. The storage is provided by HDFS and analysis by MapReduce.

The approach taken by MapReduce is the premise  that the entire dataset—or at least a good portion of it—is processed for each query. MapReduce is a batch query processor, and it has the ability to run an ad hoc query against your whole dataset and get the results in a reasonable time.

MapReduce is a linearly scalable programming model. The programmer writes two
functions—a map function and a reduce function—each of which defines a mapping
from one set of key-value pairs to another.

MapReduce was invented by engineers at Google as a system for building production search indexes because they found themselves solving the sameproblem over and over again (and MapReduce was inspired by older ideas from the functional programming, distributed computing, and database communities), but it has since been used for many other applications in many other industries. It is pleasantly surprising to see the range of algorithms that can be expressed in MapReduce, from
image analysis, to graph-based problems, to machine learning algorithms. It can’t solve every problem, of course, but it is a general data-processing tool.

MapReduce is designed to run jobs that last minutes or hours on trusted, dedicated hardware running in a single data center with very high aggregate bandwidth interconnects.


Hadoop was created by Doug Cutting, the creator of Apache Lucene, the widely used text search library. Hadoop has its origins in Apache Nutch, an open source web search engine, itself a part of the Lucene project.

Development that helped Hadoop Development.

A paper in 2003 that described the architecture of Google’s distributed filesystem, called GFS, which was being used in production at Google.

In 2004, Google published the paper that introduced MapReduce to the world.

In February 2008 when Yahoo! announced that its production search index was being generated by a
10,000-core Hadoop cluster.


In April 2008, Hadoop broke a world record to become the fastest system to sort a terabyte of data. Running on a 910-node cluster, Hadoop sorted one terabyte in 209 seconds (just under 3½ minutes), beating the previous year’s winner of 297 seconds. In November of the same year, Google reported that its MapReduce implementation sorted one terabyte in 68 seconds. In May 2009, it was announced that a team at Yahoo! used Hadoop to sort one terabyte in 62 seconds.


Introducing Apache Hadoop: The Modern Data Operating System
Stanford
______________


______________



Apache Hadoop & Big Data 101: The Basics
Cloudera, Inc.
______________


______________


Hadoop Notes and Video Lectures


What is Hadoop? Text and Video Lectures

What is MapReduce? Text and Video Lectures

The Hadoop Distributed Filesystem (HDFS)

Hadoop Input - Output System

Developing a Simple MapReduce Application

Hadoop Adoption and Ecosystem


What is Hadoop?


“Hadoop” refers to the growing ecosystem of open source and commercial software platforms, tools, and maintenance available from the Apache Software Foundation (open source) and several software vendor firms.

Hadoop began its journey by proving its worth as a Spartan but highly scalable data platform for
reporting and analytics in Internet firms and other digital organizations. The journey is now taking
Hadoop into a wider range of industries,

 Hadoop adoption is accelerating.  60% of users surveyed will have Hadoop in production by 2016.

“The high-end relational databases are really expensive in configurations big enough to deal with big data. Data warehouse appliances are almost as expensive. We all need a more economical platform, which is the main reason we’re all considering Hadoop.”

 Hadoop regularly appears as a complementary extension of a data warehouse when warehouse data that doesn’t necessarily require the warehouse is migrated to Hadoop.

Hadoop usage is proliferating across enterprises.

 A growing number of users rely on Hadoop to spur enterprise business and technology innovations.


Benefits of Hadoop



Advanced analytics.

Hadoop supports advanced analytics, based on techniques for data mining,
statistics, complex SQL etc. This includes the exploratory analytics with big data.
 It also includes related disciplines such as
information exploration and discovery and data visualization.

Data warehousing and integration.

Many users feel Hadoop complements a data warehouse well, is
a big data source for analytics , and is a computational platform for transforming data .

Data Scalability.

With Hadoop, users feel they can capture more data than in the past . This
is the perception, whether use cases involve analytics, warehouses, or active data archiving .
Technology and economics intersect because users feel they can achieve extreme scalability
while running on low-cost hardware and software .

New and exotic data types.

Hadoop helps organizations get business value from data that is new to them or previously unmanageable, simply because Hadoop supports widely diverse data and file types. In particular, Hadoop is adept with schema-free data staging  and machine data from
robots, sensors, meters, and other devices .

Business applications.

Hadoop contributes to a number of business applications and activities,
including sentiment analytics , understanding consumer behavior via clickstreams ,
more numerous business insights,  recognition of sales and market opportunities , fraud
detection , and greater ROI for big data .



Important points being summarized from

Hadoop for theEnterprise: Making Data Management Massively Scalable, Agile, Feature-Rich, and Cost-Effective


By Philip Russom

http://www.sas.com/content/dam/SAS/en_us/doc/whitepaper2/tdwi-hadoop-for-enterprise-107708.pdf

updated 10 May 2016

Wednesday, April 20, 2016

IoT related Education and Training Programmes - Video Lectures


Browse 100+ Books on Internet of Things
http://nraoiekc.blogspot.com/2016/04/browse-100-books-on-internet-of-things.html


http://www.thingworx.com/academics


Prototyping Internet of Things Ideas and Networks - Book Excerpts


2017

IoT Training in Bengaluru

http://www.mytectra.com/iot-training-in-bangalore.html

Overview - Why IoT is so important


IoT - Business models involving  IoT Technology

Important Application Areas

Smart House and Smart City
Industrial Internet
Smart Cars
Wearables
Home Healthcare

Business Rule Generation for IoT
3 layered architecture of Big Data — Physical (Sensors), Communication , and Data Intelligence


All about Sensors – Electronics

Basic function and architecture of a sensor — sensor body, sensor mechanism, sensor calibration, sensor maintenance, cost and pricing structure, legacy and modern sensor network — all the basics about the sensors
Development of sensor electronics — IoT vs legacy, and open source vs traditional PCB design style
Development of sensor communication protocols — history to modern days. Legacy protocols like
Modbus, relay, HART to modern day Zigbee, Zwave, X10,Bluetooth, ANT, etc.
Business driver for sensor deployment — FDA/EPA regulation, fraud/tempering detection, supervision, quality control and process management
Different Kind of Calibration Techniques — manual, automation, infield, primary and secondary calibration — and their implication in IoT
Powering options for sensors — battery, solar, Witricity, Mobile and PoE
Hands on training with single silicon and other sensors like temperature, pressure, vibration, magnetic field, power factor etc.
Fundamental of M2M communication — Sensor Network and Wireless protocol
What is a sensor network? What is ad-hoc network?
Wireless vs. Wireline network
WiFi- 802.11 families: N to S — application of standards and common vendors.
Zigbee and Zwave — advantage of low power mesh networking. Long distance Zigbee. Introduction to different Zigbee chips.
Bluetooth/BLE: Low power vs high power, speed of detection, class of BLE. Introduction of Bluetooth vendors & their review.
Creating network with Wireless protocols such as Piconet by BLE
Protocol stacks and packet structure for BLE and Zigbee
Other long distance RF communication link
LOS vs NLOS links
Capacity and throughput calculation
Application issues in wireless protocols — power consumption, reliability, PER, QoS, LOS
Hands on training with sensor network
1. PICO NET- BLE Base network
2. Zigbee network-master/slave communication
3. Data Hubs : MC and single computer ( like Beaglebone ) based datahub
Review of Electronics Platform, production and cost projection
PCB vs FPGA vs ASIC design-how to take decision
Prototyping electronics vs Production electronics
QA certificate for IoT- CE/CSA/UL/IEC/RoHS/IP65: What are those and when needed?
Basic introduction of multi-layer PCB design and its workflow
Electronics reliability-basic concept of FIT and early mortality rate
Environmental and reliability testing-basic concepts
Basic Open source platforms: Arduino, Raspberry Pi, Beaglebone, when needed?
RedBack, Diamond Back
Conceiving a new IoT product- Product requirement document for IoT
State of the present art and review of existing technology in the market place
Suggestion for new features and technologies based on market analysis and patent issues
Detailed technical specs for new products- System, software, hardware, mechanical, installation etc.
Packaging and documentation requirements
Servicing and customer support requirements
High level design (HLD) for understanding of product concept
Release plan for phase wise introduction of the new features
Skill set for the development team and proposed project plan -cost & duration
Target manufacturing price
Introduction to Mobile app platform for IoT
Protocol stack of Mobile app for IoT
Mobile to server integration –what are the factors to look out
What are the intelligent layer that can be introduced at Mobile app level ?
iBeacon in IoS
Window Azure
Linkafy Mobile platform for IoT
Axeda
Xively
Machine learning for intelligent IoT
Introduction to Machine learning
Learning classification techniques
Bayesian Prediction-preparing training file
Support Vector Machine
Image and video analytic for IoT
Fraud and alert analytic through IoT
Bio –metric ID integration with IoT
Real Time Analytic/Stream Analytic
Scalability issues of IoT and machine learning
What are the architectural implementation of Machine learning for IoT
Analytic Engine for IoT
Insight analytic
Visualization analytic
Structured predictive analytic
Unstructured predictive analytic
Recommendation Engine
Pattern detection
Rule/Scenario discovery — failure, fraud, optimization
Root cause discovery
Security in IoT implementation
Why security is absolutely essential for IoT
Mechanism of security breach in IOT layer
Privacy enhancing technologies
Fundamental of network security
Encryption and cryptography implementation for IoT data
Security standard for available platform
European legislation for security in IoT platform
Secure booting
Device authentication
Firewalling and IPS
Updates and patches
Database implementation for IoT : Cloud based IoT platforms
SQL vs NoSQL-Which one is good for your IoT application
Open sourced vs. Licensed Database
Available M2M cloud platform
Axeda
Xively
Omega
NovoTech
Ayla
Libellium
CISCO M2M platform
AT &T M2M platform
Google M2M platform
A few common IoT systems
Home automation
Energy optimization in Home
Automotive-OBD
IoT-Lock
Smart Smoke alarm
BAC ( Blood alcohol monitoring ) for drug abusers under probation
Pet cam for Pet lovers
Wearable IOT
Mobile parking ticketing system
Indoor location tracking in Retail store
Home health care
Smart Sports Watch
Big Data for IoT
4V- Volume, velocity, variety and veracity of Big Data
Why Big Data is important in IoT
Big Data vs legacy data in IoT
Hadoop for IoT-when and why?
Storage technique for image, Geospatial and video data
Distributed database
Parallel computing basics for IoT


http://www.mytectra.com/iot-training-in-bangalore.html

February 2016


PTC Academic Program Delivers Massive Open Online Courses (MOOCs) for IoT Learning
Company Launches Initial IoT MOOCs for Differentiated Educational Pathway
http://www.ptc.com/news/2016/ptc-academic-program-delivers-massive-open-online-courses-for-iot-learning







2015
How It Works: Internet of Things
IBM Think Academy

________________

________________


The Future of IoT at Work
IBM Think Academy

________________

________________


IBM Watson IoT Platform Demo
IBM Internet of Things
_________________

_________________

2012
The Internet of Things: Dr. John Barrett at TEDxCIT

_________________

_________________
TEDX Talks


Updated 20 Apr 2016, 24 March 2016