introduction to yql - talk at hacku 2010, iit chennai
DESCRIPTION
Introduction to YQL - Talk at HackU 2010, IIT ChennaiTRANSCRIPT
1
`̀
select * from internet;
Balaji Narayanan@balajijegan
http://balajin.net/blog/
Application ?
Application =
data data manipulatimanipulati
onondata data
visualizatiovisualizationn
++
datadata
var map = new YMap(document.getElementById('map'));…var currentGeoPoint = new YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint);…
…if (flickcurl_prepare(fc, "flickr.photos.geo.correctLocation", parameters, count)) { … }…
http://search.yahooapis.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=Corvette&results=2
http://weather.yahooapis.com/forecastrss?p=FRXX0076&u=c
??
????
??
What is the problem?
8
Thousands of Web Services and sources that provide valuable
data
9
Data is isolated
10
Needs filtering, combining, tweaking, shaping even after it
gets to the developer.
11
Require Developers to read documentation and form
URLs/queries
12
http://weather.yahooapis.com/forecastrss?p=FRXX0076&u=chttp://weather.yahooapis.com/forecastrss?p=FRXX0076&u=c
…if (flickcurl_prepare(fc, "flickr.photos.geo.correctLocation", parameters, count)) { … }…
…if (flickcurl_prepare(fc, "flickr.photos.geo.correctLocation", parameters, count)) { … }…
http://search.yahooapis.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=Corvette&results=2
http://search.yahooapis.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=Corvette&results=2
var map = new YMap(document.getElementById('map'));…var currentGeoPoint = new YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint);…
var map = new YMap(document.getElementById('map'));…var currentGeoPoint = new YGeoPoint( _c.Lat, _c.Lon ); map.addMarker(currentGeoPoint);…
YQYQLL
selectselect
descdesc
showshow
YQL YQL stmtstmt
BindingsBindings
Web Service with a SQL Like Language
14
Familiar to developers
15
Synonymous with data access
16
Expressive enough to get the right data
17
Supports query, filter, join and update data across
any structured data on the web / web services
18
Demo
http://developer.yahoo.com/yql/console
19
XML or JSON output formats. JSON also allows for a callback parameter to use directly as JSON-P
20
Using YQL in your application
21
22
23
YQL is not limited to
Yahoo! data only
24
use and set
25
Imports the Open Data Table definition
26
Makes it available as tableName
27
Acts just like other YQL Tables
28
Open tables can be collected together into
environment files
29
set api_key=“value” on myTable
30
use ‘http://myweb/mytable.xml’
as tableName; select * from my tableName
31
YQL Hosted Storage for Storing Secrets, Environment Files, Open Data Tables
insert into yql.storage.admin (name,url) values ('fireeagle','http://balajin.net/hacks/fireeagle.env')
<execute> store://balajin.net/fireeagle
</execute><select>
store://RtdcPRPDsp0d8WyyLSDo3T </select><update>
store://hyOKm0GnP802H2hPzMARZ1 </update>
https://developer.yahoo.com/yql/console/?env=store://balajin.net/fireeagle
Insert / Update / Delete
36
Can modify the data on the cloud
37
Open Data Tables
38
Brings the power of table model to new APIs
39
Schema brings mapping between YQL and
endpoint
40
Keys can be marked as required
41
YQL compiler validates the existence of required keys
42
<execute> element
43
Extends open data table with server side JS
code
44
Move business logic of your application to the
cloud
45
46
More easily build web applications
47
Data processing done away from the app
48
Consistent and familiar syntax for all data
access
49
Iterative environment for developing the
query
50
datadataYQLYQL
Contribute
http://github.com/yql/yql-tables/
52