http://git-wip-us.apache.org/repos/asf/predictionio-site/blob/765e178c/datacollection/channel/index.html
----------------------------------------------------------------------
diff --git a/datacollection/channel/index.html
b/datacollection/channel/index.html
index f49bd1d..21674a4 100644
--- a/datacollection/channel/index.html
+++ b/datacollection/channel/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><title>Channel</title><meta charset="utf-8"/><meta
content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport"
content="width=device-width, initial-scale=1.0"/><meta class="swiftype"
name="title" data-type="string" content="Channel"/><link rel="canonical"
href="https://predictionio.apache.org/datacollection/channel/"/><link
href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link
href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link
href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800"
rel="stylesheet"/><link
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css"
rel="stylesheet" type="text/css"/><script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script
src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-A
MS-MML_HTMLorMML"></script><script
src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async:
true });}catch(e){}</script></head><body><div id="global"><header><div
class="container" id="header-wrapper"><div class="row"><div
class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a
href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache
PredictionIO" id="logo"
src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div
id="menu-wrapper"><div id="pill-wrapper"><a class="pill left"
href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right"
href="//github.com/apache/predictionio/">OPEN SOURCE</a></div></div><img
class="mobile-search-bar-toggler hidden-md hidden-lg"
src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div
id="search-bar-row-wrapper"><div class="container-fluid"
id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11
col-xs-11"><div class="hidden-md hidden-lg" id="mo
bile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Channel</h4></div><h4
class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3
col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator"
src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3
col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form
class="search-form"><img class="search-box-toggler hidden-xs hidden-sm"
src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img
src="/images/icons/search-glass-704bd4ff.png"/><input type="text"
id="st-search-input" class="st-search-input" placeholder="Search
Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg"
src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div
class="mobile-left-menu-toggler hidden-md
hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div
class="row"><div id="left-menu-wrapper" class="col-md-3"><nav
id="nav-main"><ul><li class=
"level-1"><a class="expandible" href="/"><span>Apache PredictionIO®
Documentation</span></a><ul><li class="level-2"><a class="final"
href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Getting
Started</span></a><ul><li class="level-2"><a class="final"
href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a
class="final" href="/install/"><span>Installing Apache
PredictionIO</span></a></li><li class="level-2"><a class="final"
href="/start/download/"><span>Downloading an Engine Template</span></a></li><li
class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your
First Engine</span></a></li><li class="level-2"><a class="final"
href="/start/customize/"><span>Customizing the
Engine</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a
class="final" href="/appintegration/"><span>App Integ
ration Overview</span></a></li><li class="level-2"><a class="expandible"
href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a
class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li
class="level-3"><a class="final" href="/sdk/php/"><span>PHP
SDK</span></a></li><li class="level-3"><a class="final"
href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a
class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li
class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered
SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li
class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web
Service</span></a></li><li class="level-2"><a class="final"
href="/batchpredict/"><span>Batch Predictions</span></a></li><li
class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring
Engine</span></a></li><li class
="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting Engine
Parameters</span></a></li><li class="level-2"><a class="final"
href="/deploy/enginevariants/"><span>Deploying Multiple Engine
Variants</span></a></li><li class="level-2"><a class="final"
href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Customizing an
Engine</span></a><ul><li class="level-2"><a class="final"
href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a
class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li
class="level-2"><a class="final"
href="/customize/troubleshooting/"><span>Troubleshooting Engine
Development</span></a></li><li class="level-2"><a class="final"
href="/api/current/#package"><span>Engine Scala
APIs</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Collecting and Analyzing Data</span></a><ul><li
class="level-2"><a class="fi
nal" href="/datacollection/"><span>Event Server Overview</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/eventapi/"><span>Collecting Data with
REST/SDKs</span></a></li><li class="level-2"><a class="final"
href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/webhooks/"><span>Unifying Multichannel Data with
Webhooks</span></a></li><li class="level-2"><a class="final active"
href="/datacollection/channel/"><span>Channel</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/batchimport/"><span>Importing Data in
Batch</span></a></li><li class="level-2"><a class="final"
href="/datacollection/analytics/"><span>Using Analytics
Tools</span></a></li><li class="level-2"><a class="final"
href="/datacollection/plugin/"><span>Event Server
Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Choosing an Algorithm</span></a><ul><li class="le
vel-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm
Libraries</span></a></li><li class="level-2"><a class="final"
href="/algorithm/switch/"><span>Switching to Another
Algorithm</span></a></li><li class="level-2"><a class="final"
href="/algorithm/multiple/"><span>Combining Multiple
Algorithms</span></a></li><li class="level-2"><a class="final"
href="/algorithm/custom/"><span>Adding Your Own
Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Tuning and Evaluation</span></a><ul><li class="level-2"><a
class="final" href="/evaluation/"><span>Overview</span></a></li><li
class="level-2"><a class="final"
href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li
class="level-2"><a class="final"
href="/evaluation/evaluationdashboard/"><span>Evaluation
Dashboard</span></a></li><li class="level-2"><a class="final"
href="/evaluation/metricchoose/"><span>Choosing Evaluation
Metrics</span></a></li><li class="level-2"><a
class="final" href="/evaluation/metricbuild/"><span>Building Evaluation
Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>System Architecture</span></a><ul><li class="level-2"><a
class="final" href="/system/"><span>Architecture Overview</span></a></li><li
class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using
Another Data Store</span></a></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>PredictionIO® Official
Templates</span></a><ul><li class="level-2"><a class="final"
href="/templates/"><span>Intro</span></a></li><li class="level-2"><a
class="expandible" href="#"><span>Recommendation</span></a><ul><li
class="level-3"><a class="final"
href="/templates/recommendation/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/recommendation/evaluation/"><span
>Evaluation Explained</span></a></li><li class="level-3"><a class="final"
>href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li
>class="level-3"><a class="final"
>href="/templates/recommendation/reading-custom-events/"><span>Read Custom
>Events</span></a></li><li class="level-3"><a class="final"
>href="/templates/recommendation/customize-data-prep/"><span>Customize Data
>Preparator</span></a></li><li class="level-3"><a class="final"
>href="/templates/recommendation/customize-serving/"><span>Customize
>Serving</span></a></li><li class="level-3"><a class="final"
>href="/templates/recommendation/training-with-implicit-preference/"><span>Train
> with Implicit Preference</span></a></li><li class="level-3"><a class="final"
>href="/templates/recommendation/blacklist-items/"><span>Filter Recommended
>Items by Blacklist in Query</span></a></li><li class="level-3"><a
>class="final" href="/templates/recommendation/batch-evaluator/"><span>Batch
>Persistable Evaluator</span></a></li></ul></
li><li class="level-2"><a class="expandible" href="#"><span>E-Commerce
Recommendation</span></a><ul><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train
with Rate Event</span></a></li><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust
Score</span></a></li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>Similar Product</span></a><ul><li class="level-3"><a
class="final" href="/templates/similarproduct/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/similarpr
oduct/dase/"><span>DASE</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple
Events and Multiple Algorithms</span></a></li><li class="level-3"><a
class="final"
href="/templates/similarproduct/return-item-properties/"><span>Returns Item
Properties</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate
Event</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events
for Users</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/recommended-user/"><span>Recommend
Users</span></a></li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>Classification</span></a><ul><li class="level-3"><a
class="final" href="/templates/classi
fication/quickstart/"><span>Quick Start</span></a></li><li class="level-3"><a
class="final"
href="/templates/classification/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/add-algorithm/"><span>Use Alternative
Algorithm</span></a></li><li class="level-3"><a class="final"
href="/templates/classification/reading-custom-properties/"><span>Read Custom
Properties</span></a></li></ul></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li
class="level-2"><a class="final"
href="/gallery/template-gallery/"><span>Browse</span></a></li><li
class="level-2"><a class="final"
href="/community/submit-template/"><span>Submit your Engine as a
Template</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a cl
ass="final" href="/demo/tapster/"><span>Comics Recommendation
Demo</span></a></li><li class="level-2"><a class="final"
href="/demo/community/"><span>Community Contributed Demo</span></a></li><li
class="level-2"><a class="final" href="/demo/textclassification/"><span>Text
Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a
class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li
class="level-2"><a class="final"
href="/community/contribute-code/"><span>Contribute Code</span></a></li><li
class="level-2"><a class="final"
href="/community/contribute-documentation/"><span>Contribute
Documentation</span></a></li><li class="level-2"><a class="final"
href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li
class="level-2"><a class="final"
href="/community/contribute-webhook/"><span>Contribute a
Webhook</span></a></li><li class="level-2"><a class="final"
href="/community/projects/"><span>Community Projects</span></a></li></ul
></li><li class="level-1"><a class="expandible" href="#"><span>Getting
>Help</span></a><ul><li class="level-2"><a class="final"
>href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a
>class="final" href="/support/"><span>Support</span></a></li></ul></li><li
>class="level-1"><a class="expandible"
>href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final"
>href="/cli/"><span>Command-line Interface</span></a></li><li
>class="level-2"><a class="final" href="/resources/release/"><span>Release
>Cadence</span></a></li><li class="level-2"><a class="final"
>href="/resources/intellij/"><span>Developing Engines with IntelliJ
>IDEA</span></a></li><li class="level-2"><a class="final"
>href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li
>class="level-2"><a class="final"
>href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li
>class="level-1"><a class="expandible" href="#"><span>Apache Software
>Foundation</span></a><ul><li class="level-2"
><a class="final" href="https://www.apache.org/"><span>Apache
>Homepage</span></a></li><li class="level-2"><a class="final"
>href="https://www.apache.org/licenses/"><span>License</span></a></li><li
>class="level-2"><a class="final"
>href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li
> class="level-2"><a class="final"
>href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li
> class="level-2"><a class="final"
>href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div
> class="col-md-9 col-sm-12"><div class="content-header hidden-md
>hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a
>href="#">Collecting and Analyzing Data</a><span
>class="spacer">></span></li><li><span
>class="last">Channel</span></li></ul></div><div
>id="page-title"><h1>Channel</h1></div></div><div
>id="table-of-content-wrapper"><h5>On this page</h5><aside
>id="table-of-contents"><ul> <li> <a href
="#create-a-new-channel">Create a new Channel</a> </li> <li> <a
href="#collect-data-through-channel">Collect data through Channel</a> </li>
<li> <a href="#delete-a-channel-including-all-imported-data">Delete a Channel
(including all imported data)</a> </li> <li> <a
href="#delete-the-data-only-of-a-channel">Delete the data-only of a Channel</a>
</li> <li> <a href="#accessing-channel-data-in-engine">Accessing Channel Data
in Engine</a> </li> </ul> </aside><hr/><a id="edit-page-link"
href="https://github.com/apache/predictionio/tree/livedoc/docs/manual/source/datacollection/channel.html.md.erb"><img
src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div
class="content-header hidden-sm hidden-xs"><div id="breadcrumbs"
class="hidden-sm hidden xs"><ul><li><a href="#">Collecting and Analyzing
Data</a><span class="spacer">></span></li><li><span
class="last">Channel</span></li></ul></div><div
id="page-title"><h1>Channel</h1></div></div><div class="content"> <p>Each App
has a default channel (without name) which stores all incoming events. This
"default" one is used when channel is not specified.</p><p>You may
create additional Channels for the App. Creating multiple Channels is advanced
usage. You don't need to create any in order to use Apache PredictionIO.
The Channel is associated with one App only and must have unique name within
the same App.</p><p>Creating multiple Channels allows you more easily to
identify, manage and use specific event data if you may collect events from
different multiple sources (eg. mobile, website, or third-party webhooks
service) for the your application.</p><p>(More usage details coming
soon...)</p><h2 id='create-a-new-channel' class='header-anchors'>Create a new
Channel</h2><p>For example, to create a new channel "myChannel" for
app "myApp", run following <code>pio</code> command:</p><div
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" sty
le="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre>pio app channel-new myApp myChannel
+<!DOCTYPE html><html><head><title>Channel</title><meta charset="utf-8"/><meta
content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/><meta name="viewport"
content="width=device-width, initial-scale=1.0"/><meta class="swiftype"
name="title" data-type="string" content="Channel"/><link rel="canonical"
href="https://predictionio.apache.org/datacollection/channel/"/><link
href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link
href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link
href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800"
rel="stylesheet"/><link
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
rel="stylesheet"/><link href="/stylesheets/application-eccfc6cb.css"
rel="stylesheet" type="text/css"/><script
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script
src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-A
MS-MML_HTMLorMML"></script><script
src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async:
true });}catch(e){}</script></head><body><div id="global"><header><div
class="container" id="header-wrapper"><div class="row"><div
class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a
href="#"></a><a href="http://predictionio.apache.org/"><img alt="Apache
PredictionIO" id="logo"
src="/images/logos/logo-ee2b9bb3.png"/></a><span>®</span></div><div
id="menu-wrapper"><div id="pill-wrapper"><a class="pill left"
href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right"
href="//github.com/apache/predictionio/">OPEN SOURCE</a></div></div><img
class="mobile-search-bar-toggler hidden-md hidden-lg"
src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div
id="search-bar-row-wrapper"><div class="container-fluid"
id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11
col-xs-11"><div class="hidden-md hidden-lg" id="mo
bile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Channel</h4></div><h4
class="hidden-sm hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3
col-sm-1 col-xs-1 hidden-md hidden-lg"><img id="left-menu-indicator"
src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3
col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form
class="search-form"><img class="search-box-toggler hidden-xs hidden-sm"
src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img
src="/images/icons/search-glass-704bd4ff.png"/><input type="text"
id="st-search-input" class="st-search-input" placeholder="Search
Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg"
src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div
class="mobile-left-menu-toggler hidden-md
hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div
class="row"><div id="left-menu-wrapper" class="col-md-3"><nav
id="nav-main"><ul><li class=
"level-1"><a class="expandible" href="/"><span>Apache PredictionIO®
Documentation</span></a><ul><li class="level-2"><a class="final"
href="/"><span>Welcome to Apache PredictionIO®</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Getting
Started</span></a><ul><li class="level-2"><a class="final"
href="/start/"><span>A Quick Intro</span></a></li><li class="level-2"><a
class="final" href="/install/"><span>Installing Apache
PredictionIO</span></a></li><li class="level-2"><a class="final"
href="/start/download/"><span>Downloading an Engine Template</span></a></li><li
class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your
First Engine</span></a></li><li class="level-2"><a class="final"
href="/start/customize/"><span>Customizing the
Engine</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Integrating with Your App</span></a><ul><li class="level-2"><a
class="final" href="/appintegration/"><span>App Integ
ration Overview</span></a></li><li class="level-2"><a class="expandible"
href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a
class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li
class="level-3"><a class="final" href="/sdk/php/"><span>PHP
SDK</span></a></li><li class="level-3"><a class="final"
href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a
class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li
class="level-3"><a class="final"
href="/community/projects/#sdks"><span>Community Powered
SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li
class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web
Service</span></a></li><li class="level-2"><a class="final"
href="/batchpredict/"><span>Batch Predictions</span></a></li><li
class="level-2"><a class="final" href="/deploy/monitoring/"><span>Monitoring
Engine</span></a></li
><li class="level-2"><a class="final"
>href="/deploy/engineparams/"><span>Setting Engine
>Parameters</span></a></li><li class="level-2"><a class="final"
>href="/deploy/enginevariants/"><span>Deploying Multiple Engine
>Variants</span></a></li><li class="level-2"><a class="final"
>href="/deploy/plugin/"><span>Engine Server
>Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible"
>href="#"><span>Customizing an Engine</span></a><ul><li class="level-2"><a
>class="final" href="/customize/"><span>Learning DASE</span></a></li><li
>class="level-2"><a class="final" href="/customize/dase/"><span>Implement
>DASE</span></a></li><li class="level-2"><a class="final"
>href="/customize/troubleshooting/"><span>Troubleshooting Engine
>Development</span></a></li><li class="level-2"><a class="final"
>href="/api/current/#package"><span>Engine Scala
>APIs</span></a></li></ul></li><li class="level-1"><a class="expandible"
>href="#"><span>Collecting and Analyzing Data</span></a><ul><li
>class="level-2"><a
class="final" href="/datacollection/"><span>Event Server
Overview</span></a></li><li class="level-2"><a class="final"
href="/datacollection/eventapi/"><span>Collecting Data with
REST/SDKs</span></a></li><li class="level-2"><a class="final"
href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/webhooks/"><span>Unifying Multichannel Data with
Webhooks</span></a></li><li class="level-2"><a class="final active"
href="/datacollection/channel/"><span>Channel</span></a></li><li
class="level-2"><a class="final"
href="/datacollection/batchimport/"><span>Importing Data in
Batch</span></a></li><li class="level-2"><a class="final"
href="/datacollection/analytics/"><span>Using Analytics
Tools</span></a></li><li class="level-2"><a class="final"
href="/datacollection/plugin/"><span>Event Server
Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Choosing an Algorithm</span></a><ul><li
class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm
Libraries</span></a></li><li class="level-2"><a class="final"
href="/algorithm/switch/"><span>Switching to Another
Algorithm</span></a></li><li class="level-2"><a class="final"
href="/algorithm/multiple/"><span>Combining Multiple
Algorithms</span></a></li><li class="level-2"><a class="final"
href="/algorithm/custom/"><span>Adding Your Own
Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Tuning and Evaluation</span></a><ul><li class="level-2"><a
class="final" href="/evaluation/"><span>Overview</span></a></li><li
class="level-2"><a class="final"
href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li
class="level-2"><a class="final"
href="/evaluation/evaluationdashboard/"><span>Evaluation
Dashboard</span></a></li><li class="level-2"><a class="final"
href="/evaluation/metricchoose/"><span>Choosing Evaluation
Metrics</span></a></li><li class="l
evel-2"><a class="final" href="/evaluation/metricbuild/"><span>Building
Evaluation Metrics</span></a></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>System Architecture</span></a><ul><li
class="level-2"><a class="final" href="/system/"><span>Architecture
Overview</span></a></li><li class="level-2"><a class="final"
href="/system/anotherdatastore/"><span>Using Another Data
Store</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>PredictionIO® Official Templates</span></a><ul><li
class="level-2"><a class="final"
href="/templates/"><span>Intro</span></a></li><li class="level-2"><a
class="expandible" href="#"><span>Recommendation</span></a><ul><li
class="level-3"><a class="final"
href="/templates/recommendation/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final" href="/templates/recommendation/evaluati
on/"><span>Evaluation Explained</span></a></li><li class="level-3"><a
class="final"
href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/recommendation/reading-custom-events/"><span>Read Custom
Events</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/customize-data-prep/"><span>Customize Data
Preparator</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/customize-serving/"><span>Customize
Serving</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/training-with-implicit-preference/"><span>Train
with Implicit Preference</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/blacklist-items/"><span>Filter Recommended
Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final"
href="/templates/recommendation/batch-evaluator/"><span>Batch Persistable
Evaluator</span></a></
li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a
class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train
with Rate Event</span></a></li><li class="level-3"><a class="final"
href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust
Score</span></a></li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>Similar Product</span></a><ul><li class="level-3"><a
class="final" href="/templates/similarproduct/quickstart/"><span>Quick
Start</span></a></li><li class="level-3"><a class="final" href="/templates
/similarproduct/dase/"><span>DASE</span></a></li><li class="level-3"><a
class="final"
href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple
Events and Multiple Algorithms</span></a></li><li class="level-3"><a
class="final"
href="/templates/similarproduct/return-item-properties/"><span>Returns Item
Properties</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate
Event</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events
for Users</span></a></li><li class="level-3"><a class="final"
href="/templates/similarproduct/recommended-user/"><span>Recommend
Users</span></a></li></ul></li><li class="level-2"><a class="expandible"
href="#"><span>Classification</span></a><ul><li class="level-3"><a
class="final" href="/templa
tes/classification/quickstart/"><span>Quick Start</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/dase/"><span>DASE</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/how-to/"><span>How-To</span></a></li><li
class="level-3"><a class="final"
href="/templates/classification/add-algorithm/"><span>Use Alternative
Algorithm</span></a></li><li class="level-3"><a class="final"
href="/templates/classification/reading-custom-properties/"><span>Read Custom
Properties</span></a></li></ul></li></ul></li><li class="level-1"><a
class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li
class="level-2"><a class="final"
href="/gallery/template-gallery/"><span>Browse</span></a></li><li
class="level-2"><a class="final"
href="/community/submit-template/"><span>Submit your Engine as a
Template</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Demo Tutorials</span></a><ul><li class="leve
l-2"><a class="final" href="/community/projects/#demos"><span>Community
Contributed Demo</span></a></li><li class="level-2"><a class="final"
href="/demo/textclassification/"><span>Text Classification Engine
Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="/community/"><span>Getting Involved</span></a><ul><li class="level-2"><a
class="final" href="/community/contribute-code/"><span>Contribute
Code</span></a></li><li class="level-2"><a class="final"
href="/community/contribute-documentation/"><span>Contribute
Documentation</span></a></li><li class="level-2"><a class="final"
href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li
class="level-2"><a class="final"
href="/community/contribute-webhook/"><span>Contribute a
Webhook</span></a></li><li class="level-2"><a class="final"
href="/community/projects/"><span>Community
Projects</span></a></li></ul></li><li class="level-1"><a class="expandible"
href="#"><span>Getting Help</span></a><
ul><li class="level-2"><a class="final"
href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a
class="final" href="/support/"><span>Support</span></a></li></ul></li><li
class="level-1"><a class="expandible"
href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final"
href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a
class="final" href="/resources/release/"><span>Release
Cadence</span></a></li><li class="level-2"><a class="final"
href="/resources/intellij/"><span>Developing Engines with IntelliJ
IDEA</span></a></li><li class="level-2"><a class="final"
href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li
class="level-2"><a class="final"
href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li
class="level-1"><a class="expandible" href="#"><span>Apache Software
Foundation</span></a><ul><li class="level-2"><a class="final"
href="https://www.apache.org/"><span>Apache Homepage</span></a></li><
li class="level-2"><a class="final"
href="https://www.apache.org/licenses/"><span>License</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/foundation/sponsorship.html"><span>Sponsorship</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/foundation/thanks.html"><span>Thanks</span></a></li><li
class="level-2"><a class="final"
href="https://www.apache.org/security/"><span>Security</span></a></li></ul></li></ul></nav></div><div
class="col-md-9 col-sm-12"><div class="content-header hidden-md
hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a
href="#">Collecting and Analyzing Data</a><span
class="spacer">></span></li><li><span
class="last">Channel</span></li></ul></div><div
id="page-title"><h1>Channel</h1></div></div><div
id="table-of-content-wrapper"><h5>On this page</h5><aside
id="table-of-contents"><ul> <li> <a href="#create-a-new-channel">Create a new
Channel</a> </li> <li> <a href="#collect-data-thr
ough-channel">Collect data through Channel</a> </li> <li> <a
href="#delete-a-channel-including-all-imported-data">Delete a Channel
(including all imported data)</a> </li> <li> <a
href="#delete-the-data-only-of-a-channel">Delete the data-only of a Channel</a>
</li> <li> <a href="#accessing-channel-data-in-engine">Accessing Channel Data
in Engine</a> </li> </ul> </aside><hr/><a id="edit-page-link"
href="https://github.com/apache/predictionio/tree/livedoc/docs/manual/source/datacollection/channel.html.md.erb"><img
src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div
class="content-header hidden-sm hidden-xs"><div id="breadcrumbs"
class="hidden-sm hidden xs"><ul><li><a href="#">Collecting and Analyzing
Data</a><span class="spacer">></span></li><li><span
class="last">Channel</span></li></ul></div><div
id="page-title"><h1>Channel</h1></div></div><div class="content"> <p>Each App
has a default channel (without name) which stores all incoming events. This
"defa
ult" one is used when channel is not specified.</p><p>You may create
additional Channels for the App. Creating multiple Channels is advanced usage.
You don't need to create any in order to use Apache PredictionIO. The
Channel is associated with one App only and must have unique name within the
same App.</p><p>Creating multiple Channels allows you more easily to identify,
manage and use specific event data if you may collect events from different
multiple sources (eg. mobile, website, or third-party webhooks service) for the
your application.</p><p>(More usage details coming soon...)</p><h2
id='create-a-new-channel' class='header-anchors'>Create a new
Channel</h2><p>For example, to create a new channel "myChannel" for
app "myApp", run following <code>pio</code> command:</p><div
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre>pio app ch
annel-new myApp myChannel
</pre></td></tr></tbody></table> </div> <p>you should see something like the
following outputs:</p><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1
2
3
@@ -12,7 +12,7 @@
[INFO] [App$] Channel Name: myChannel
[INFO] [App$] Channel ID: 2
[INFO] [App$] App ID: 5
-</span></pre></td></tr></tbody></table> </div> <p>Now "myChannel" is
created and ready for collecting data.</p><h2 id='collect-data-through-channel'
class='header-anchors'>Collect data through Channel</h2><p>The Event API
support optional <code>channel</code> query parameter. This allows you to
import and query events of the specified channel. When the <code>channel</code>
parameter is not specified, the data is collected through the default
channel.</p><p>URL:
<code>http://localhost:7070/events.json?accessKey=yourAccessKeyString&channel=yourChannelName</code></p><p>Query
parameters:</p> <table><thead> <tr> <th style="text-align: left">Field</th>
<th style="text-align: left">Type</th> <th style="text-align:
left">Description</th> </tr> </thead><tbody> <tr> <td style="text-align:
left"><code>accessKey</code></td> <td style="text-align: left">String</td> <td
style="text-align: left">The Access Key for your App</td> </tr> <tr> <td
style="text-align: left"><code>channel</c
ode></td> <td style="text-align: left">String</td> <td style="text-align:
left">The channel name (optional). Specify this to import data to this channel.
<strong>NOTE: supported in PIO version >= 0.9.2</strong> only. Channel must
be created first.</td> </tr> </tbody></table> <p>For SDK usage, one EventClient
should be responsible for collecting data of one specific channel. The channel
name is specified when the EventClient object is instantiated.</p><p>For
example, the following code import event to "YOUR_CHANNEL" of the
corresponding App.</p><div class="tabs"> <ul class="control"> <li
data-lang="bash"><a href="#tab-c771185f-8884-4312-a53b-9be483972826">Raw
HTTP</a></li> <li data-lang="php"><a
href="#tab-9304bcc7-dbe6-4c10-abbe-7bb9ddeca10c">PHP SDK</a></li> <li
data-lang="python"><a href="#tab-f2e40b35-b5d1-4b84-b898-dc53d282b075">Python
SDK</a></li> <li data-lang="ruby"><a
href="#tab-2dfd2e36-2084-46bd-af34-2c511a40269b">Ruby SDK</a></li> <li
data-lang="java"><a href
="#tab-201d3c1a-0012-4bc1-b206-f2ae9e3a15ac">Java SDK</a></li> </ul> <div
data-tab="Raw HTTP" data-lang="bash"
id="tab-c771185f-8884-4312-a53b-9be483972826"> <div class="highlight shell">
<table style="border-spacing: 0"><tbody><tr> <td class="gutter gl"
style="text-align: right"><pre class="lineno">1
+</span></pre></td></tr></tbody></table> </div> <p>Now "myChannel" is
created and ready for collecting data.</p><h2 id='collect-data-through-channel'
class='header-anchors'>Collect data through Channel</h2><p>The Event API
support optional <code>channel</code> query parameter. This allows you to
import and query events of the specified channel. When the <code>channel</code>
parameter is not specified, the data is collected through the default
channel.</p><p>URL:
<code>http://localhost:7070/events.json?accessKey=yourAccessKeyString&channel=yourChannelName</code></p><p>Query
parameters:</p> <table><thead> <tr> <th style="text-align: left">Field</th>
<th style="text-align: left">Type</th> <th style="text-align:
left">Description</th> </tr> </thead><tbody> <tr> <td style="text-align:
left"><code>accessKey</code></td> <td style="text-align: left">String</td> <td
style="text-align: left">The Access Key for your App</td> </tr> <tr> <td
style="text-align: left"><code>channel</c
ode></td> <td style="text-align: left">String</td> <td style="text-align:
left">The channel name (optional). Specify this to import data to this channel.
<strong>NOTE: supported in PIO version >= 0.9.2</strong> only. Channel must
be created first.</td> </tr> </tbody></table> <p>For SDK usage, one EventClient
should be responsible for collecting data of one specific channel. The channel
name is specified when the EventClient object is instantiated.</p><p>For
example, the following code import event to "YOUR_CHANNEL" of the
corresponding App.</p><div class="tabs"> <ul class="control"> <li
data-lang="bash"><a href="#tab-d162691c-8900-4e99-8dc7-c1cc614adab6">Raw
HTTP</a></li> <li data-lang="php"><a
href="#tab-3264164f-bebd-4944-bab2-e59415fdbc47">PHP SDK</a></li> <li
data-lang="python"><a href="#tab-0d53c96d-aa3a-444e-9e7b-34a7b5ddab6d">Python
SDK</a></li> <li data-lang="ruby"><a
href="#tab-9fc63608-8e03-49a0-8434-8db1ae4d0ea1">Ruby SDK</a></li> <li
data-lang="java"><a href
="#tab-130adb93-7c57-4a22-a97a-36b3bae4ca00">Java SDK</a></li> </ul> <div
data-tab="Raw HTTP" data-lang="bash"
id="tab-d162691c-8900-4e99-8dc7-c1cc614adab6"> <div class="highlight shell">
<table style="border-spacing: 0"><tbody><tr> <td class="gutter gl"
style="text-align: right"><pre class="lineno">1
2
3
4
@@ -39,7 +39,7 @@
},
"eventTime" : "2004-12-13T21:39:45.618Z"
}'</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK"
data-lang="php" id="tab-9304bcc7-dbe6-4c10-abbe-7bb9ddeca10c"> (TODO: update
me) </div> <div data-tab="Python SDK" data-lang="python"
id="tab-f2e40b35-b5d1-4b84-b898-dc53d282b075"> <div class="highlight python">
<table style="border-spacing: 0"><tbody><tr> <td class="gutter gl"
style="text-align: right"><pre class="lineno">1
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="PHP SDK"
data-lang="php" id="tab-3264164f-bebd-4944-bab2-e59415fdbc47"> (TODO: update
me) </div> <div data-tab="Python SDK" data-lang="python"
id="tab-0d53c96d-aa3a-444e-9e7b-34a7b5ddab6d"> <div class="highlight python">
<table style="border-spacing: 0"><tbody><tr> <td class="gutter gl"
style="text-align: right"><pre class="lineno">1
2
3
4
@@ -80,7 +80,7 @@
<span class="n">properties</span><span class="o">=</span><span
class="n">event_properties</span><span class="p">,</span>
<span class="n">event_time</span><span class="o">=</span><span
class="n">datetime</span><span class="p">(</span><span
class="mi">2014</span><span class="p">,</span> <span class="mi">12</span><span
class="p">,</span> <span class="mi">13</span><span class="p">,</span> <span
class="mi">21</span><span class="p">,</span> <span class="mi">38</span><span
class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span
class="mi">618000</span><span class="p">,</span> <span
class="n">pytz</span><span class="o">.</span><span class="n">utc</span><span
class="p">))</span>
-</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK"
data-lang="ruby" id="tab-2dfd2e36-2084-46bd-af34-2c511a40269b"> (TODO: update
me) </div> <div data-tab="Java SDK" data-lang="java"
id="tab-201d3c1a-0012-4bc1-b206-f2ae9e3a15ac"> <div class="highlight java">
<table style="border-spacing: 0"><tbody><tr> <td class="gutter gl"
style="text-align: right"><pre class="lineno">1</pre></td> <td
class="code"><pre><span class="o">(</span><span class="n">coming</span> <span
class="n">soon</span><span class="o">)</span>
+</pre></td> </tr></tbody></table> </div> </div> <div data-tab="Ruby SDK"
data-lang="ruby" id="tab-9fc63608-8e03-49a0-8434-8db1ae4d0ea1"> (TODO: update
me) </div> <div data-tab="Java SDK" data-lang="java"
id="tab-130adb93-7c57-4a22-a97a-36b3bae4ca00"> <div class="highlight java">
<table style="border-spacing: 0"><tbody><tr> <td class="gutter gl"
style="text-align: right"><pre class="lineno">1</pre></td> <td
class="code"><pre><span class="o">(</span><span class="n">coming</span> <span
class="n">soon</span><span class="o">)</span>
</pre></td> </tr></tbody></table> </div> </div> </div> <p>You can also follow
the EventAPI <a href="/datacollection/eventapi/#debugging-recipes">debug
receipts</a> to query the events of specific channel by adding the
<code>channel</code> query parameter in the URL.</p><h2
id='delete-a-channel-(including-all-imported-data)'
class='header-anchors'>Delete a Channel (including all imported data)</h2><div
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td
class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td
class="code"><pre>pio app channel-delete <app name> <channel name>
</pre></td></tr></tbody></table> </div> <h2
id='delete-the-data-only-of-a-channel' class='header-anchors'>Delete the
data-only of a Channel</h2><div class="highlight shell"><table
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align:
right"><pre class="lineno">1</pre></td><td class="code"><pre>pio app
data-delete <app name> --channel <channel name>
</pre></td></tr></tbody></table> </div> <h2
id='accessing-channel-data-in-engine' class='header-anchors'>Accessing Channel
Data in Engine</h2><p>To acccess channel data, simply specify the channel name
when use the PEventStore or LEventStore API. Data is read from from the default
channel if channelName is not specified.</p><p>For example, read data from
default channel:</p><div class="highlight scala"><table style="border-spacing:
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre
class="lineno">1