From d54e0ea600ecc330c9ace4ff4a1301203140bf4d Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Fri, 8 Apr 2016 08:45:32 -0700 Subject: [PATCH] Added FAQ and db dependencies to docs --- _sources/index.txt | 1 + _sources/installation.txt | 35 +++++++++++++++++++++++ gallery.html | 2 ++ genindex.html | 1 + index.html | 7 +++++ installation.html | 60 ++++++++++++++++++++++++++++++++++++++- search.html | 1 + searchindex.js | 2 +- tutorial.html | 1 + videos.html | 1 + 10 files changed, 109 insertions(+), 2 deletions(-) diff --git a/_sources/index.txt b/_sources/index.txt index 07c19448eb0..29478e2b395 100644 --- a/_sources/index.txt +++ b/_sources/index.txt @@ -34,6 +34,7 @@ Contents tutorial videos gallery + faq Indices and tables diff --git a/_sources/installation.txt b/_sources/installation.txt index 5fb341f733a..fcfc63c5335 100644 --- a/_sources/installation.txt +++ b/_sources/installation.txt @@ -121,6 +121,40 @@ the `Flask App Builder Documentation `_ for more information on how to configure Caravel. +Database dependencies +--------------------- + +Caravel does not ship bundled with connectivity to databases, except +for Sqlite, which is part of the Python standard library. +You'll need to install the required packages for the database you +want to use as your metadata database as well as the packages needed to +connect to the databases you want to access through Caravel. + +Here's a list of some of the recommended packages. + ++---------------+-------------------------------------+-------------------------------------------------+ +| database | pypi package | SQLAlchemy URI prefix | ++===============+=====================================+=================================================+ +| MySQL | ``pip install mysqlclient`` | ``mysql://`` | ++---------------+-------------------------------------+-------------------------------------------------+ +| Postgres | ``pip install psycopg2`` | ``postgresql+psycopg2://`` | ++---------------+-------------------------------------+-------------------------------------------------+ +| Presto | ``pip install pyhive`` | ``presto://`` | ++---------------+-------------------------------------+-------------------------------------------------+ +| Oracle | ``pip install cx_Oracle`` | ``oracle://`` | ++---------------+-------------------------------------+-------------------------------------------------+ +| sqlite | | ``sqlite://`` | ++---------------+-------------------------------------+-------------------------------------------------+ +| Redshift | ``pip install sqlalchemy-redshift`` | ``redshift+psycopg2://`` | ++---------------+-------------------------------------+-------------------------------------------------+ +| MSSQL | ``pip install pymssql`` | ``mssql://`` | ++---------------+-------------------------------------+-------------------------------------------------+ + +Note that many other database are supported, the main criteria being the +existence of a functional SqlAlchemy dialect and Python driver. Googling +the keyword ``sqlalchemy`` in addition of a keyword that describes the +database you want to connect to should get you to the right place. + Caching ------- @@ -147,6 +181,7 @@ parameters exposed by SQLAlchemy. In the ``Database`` edit view, you will find an ``extra`` field as a ``JSON`` blob. .. image:: _static/img/tutorial/add_db.png + :scale: 30 % This JSON string contains extra configuration elements. The ``engine_params`` object gets unpacked into the diff --git a/gallery.html b/gallery.html index 6cf00490bbe..6da2658334f 100644 --- a/gallery.html +++ b/gallery.html @@ -31,6 +31,7 @@ + @@ -71,6 +72,7 @@
  • Tutorial
  • Videos
  • Gallery
  • +
  • FAQ
  • diff --git a/genindex.html b/genindex.html index 26f7cb7d8bd..10b75fd74e0 100644 --- a/genindex.html +++ b/genindex.html @@ -71,6 +71,7 @@
  • Tutorial
  • Videos
  • Gallery
  • +
  • FAQ
  • diff --git a/index.html b/index.html index 7124ada6350..e9ec6de3cdc 100644 --- a/index.html +++ b/index.html @@ -71,6 +71,7 @@
  • Tutorial
  • Videos
  • Gallery
  • +
  • FAQ
  • @@ -240,6 +241,7 @@ to the user
  • OS dependencies
  • Caravel installation and initialization
  • Configuration
  • +
  • Database dependencies
  • Caching
  • Deeper SQLAlchemy integration
  • Postgres & Redshift
  • @@ -259,6 +261,11 @@ to the user
  • Gallery
  • +
  • FAQ +
  • diff --git a/installation.html b/installation.html index 109907e26b5..c8baab88015 100644 --- a/installation.html +++ b/installation.html @@ -72,6 +72,7 @@
  • Tutorial
  • Videos
  • Gallery
  • +
  • FAQ
  • @@ -90,6 +91,7 @@
  • OS dependencies
  • Caravel installation and initialization
  • Configuration
  • +
  • Database dependencies
  • Caching
  • Deeper SQLAlchemy integration
  • Postgres & Redshift
  • @@ -239,6 +241,62 @@ Flask App Builder, the web framework used by Caravel. Please consult the Flask App Builder Documentation for more information on how to configure Caravel.

    +
    +

    Database dependencies

    +

    Caravel does not ship bundled with connectivity to databases, except +for Sqlite, which is part of the Python standard library. +You’ll need to install the required packages for the database you +want to use as your metadata database as well as the packages needed to +connect to the databases you want to access through Caravel.

    +

    Here’s a list of some of the recommended packages.

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    databasepypi packageSQLAlchemy URI prefix
    MySQLpip install mysqlclientmysql://
    Postgrespip install psycopg2postgresql+psycopg2://
    Prestopip install pyhivepresto://
    Oraclepip install cx_Oracleoracle://
    sqlite sqlite://
    Redshiftpip install sqlalchemy-redshiftredshift+psycopg2://
    MSSQLpip install pymssqlmssql://
    +

    Note that many other database are supported, the main criteria being the +existence of a functional SqlAlchemy dialect and Python driver. Googling +the keyword sqlalchemy in addition of a keyword that describes the +database you want to connect to should get you to the right place.

    +

    Caching

    Caravel uses Flask-Cache for @@ -257,7 +315,7 @@ into your global default defined in Database edit view, you will find an extra field as a JSON blob.

    -_images/add_db.png +_images/add_db.png

    This JSON string contains extra configuration elements. The engine_params object gets unpacked into the sqlalchemy.create_engine call, diff --git a/search.html b/search.html index 0bd2bb5d4af..b2f9d9c12d6 100644 --- a/search.html +++ b/search.html @@ -78,6 +78,7 @@

  • Tutorial
  • Videos
  • Gallery
  • +
  • FAQ
  • diff --git a/searchindex.js b/searchindex.js index ac31730438c..ba299180495 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:46,filenames:["gallery","index","installation","tutorial","videos"],objects:{},objnames:{},objtypes:{},terms:{"1thisismyscretkei":2,"64bit":2,"default":2,"function":1,"new":[3,4],"short":4,"true":2,"while":2,abl:2,about:[2,3],abov:2,access:[1,2,3,4],account:2,action:2,add:3,admin:2,affect:4,after:2,aggreg:[1,3],ago:3,all:2,allow:[1,2],alreadi:4,also:[2,3],alter:[3,4],ani:3,annot:1,app:2,appbuild:1,appli:4,applic:2,apt:2,arbitrari:3,around:3,aspect:4,attempt:2,authent:1,avail:[1,4],awar:2,back:[2,3],backend:2,bar:3,basic:3,bat:2,been:[1,3],best:1,blob:2,brew:2,bring:2,browser:2,build:2,builder:2,button:3,cach:1,cache_config:2,call:2,can:[1,2,3,4],caravel:1,caravel_config:2,caravel_webserver_port:2,certain:4,cflag:2,chart:4,check:3,checkbox:3,click:3,cluster:2,collect:[3,4],column:3,come:[2,4],command:2,compli:2,concept:2,config:2,configur:1,connect:[2,3],constant:2,construct:3,consult:2,contain:2,control:1,copi:2,could:3,creat:[1,2,3,4],create_engin:2,creation:1,credenti:2,cryptographi:2,csrf:2,csrf_enabl:2,css:[1,3],current:2,custom:1,cut:3,dashboard:[1,2,3],data:[1,2,3,4],databas:[1,2,3],dataset:[1,4],datasourc:2,date:3,debian:2,debug:2,deep:1,deeper:1,defin:[1,2],demonstr:4,depend:1,deriv:[2,4],describ:2,dev:2,devel:2,develop:2,differ:[3,4],dimens:[3,4],directli:2,displai:1,doc:2,document:[2,3],done:[2,3],down:1,download:2,drop:1,dropdown:3,druid:1,dynam:4,easi:2,easili:3,edit:[2,3],editor:3,either:[2,3],element:2,encount:2,encrypt:2,engine_param:2,ensur:2,enter:[2,3],enterpris:1,entiti:2,entri:3,env:2,error:2,essenti:2,exist:4,explor:[2,3,4],expos:[2,4],express:[1,3],extens:1,extra:2,fabmanag:2,fall:2,fedora:2,fetch:3,few:[2,3],field:[1,2,3],figur:3,file:2,filesystem:2,fill:3,filter:[1,3],find:[2,3],first:3,flag:2,flask:[1,2],follow:2,form:3,found:3,framework:2,from:[1,2,3,4],gcc:2,get:1,global:2,goe:2,granular:1,guess:3,hard:3,have:2,here:[2,3,4],high:[1,4],hit:[2,3],hostnam:2,how:[1,2,3,4],http:2,icon:3,immun:4,includ:2,index:1,individu:1,inform:[2,3],init:2,initi:1,instal:1,integr:1,interest:[2,3],intric:1,intro:1,isn:2,item:2,json:2,just:3,kei:2,languag:[3,4],layer:1,ldap:1,ldflag:2,let:3,level:[2,4],lib:2,libffi:2,librari:[1,2],libssl:2,linear:3,list:3,load:2,load_exampl:2,local:2,localhost:2,logic:2,login:2,made:1,mai:[2,3],major:1,make:[2,3],manag:2,march:1,markdown:4,match:2,memcach:2,memori:2,menu:[2,3],metadata:[2,3],metadata_param:2,metric:[1,3,4],modal:3,mode:2,model:1,modul:[1,2],moment:3,more:2,most:1,move:3,multipl:2,name:[1,2,3],natur:3,navig:[2,3,4],need:[2,3],next:[2,3],note:[2,3],now:3,oauth:1,object:2,offici:2,onc:[2,3],onli:2,openid:1,openssl:2,option:3,origin:3,osx:2,other:[3,4],out:3,own:4,page:1,panoramix:1,paramet:2,password:2,past:2,path:2,pen:3,permiss:[1,2],pick:3,pip:2,pkg:2,plai:2,pleas:2,plu:3,point:2,popul:2,popup:3,port:2,posit:3,possibl:2,postgr:1,prefix:2,project:1,provid:[1,2],purpos:2,python:2,pythonpath:2,queri:3,quick:1,rdbm:1,readi:1,recommend:2,redi:2,redshift:1,refer:[2,3],refresh:2,refresh_druid:2,rel:3,relev:3,remote_us:1,renam:[1,3],requir:2,resiz:3,rhel:2,rich:1,right:[2,3],roadmap:2,role:2,row_limit:2,rule:1,run:2,runserv:2,same:3,save:3,schema:2,search:1,searchabl:3,searchpath:2,secret:2,secret_kei:2,secur:1,see:3,select:3,semant:[1,4],server:2,set:[1,2],setuptool:2,share:1,ship:2,should:[1,2,3],show:[1,2,3,4],shown:3,sign:[2,3],similar:3,simpl:[1,2,4],simplecach:2,simpli:3,size:3,slice:[1,2,3],some:[1,2,3],soon:4,sourc:[1,2,3],specif:2,specifi:2,specifix:2,sql:[1,3],sqlalchemi:1,sqlalchemy_database_uri:2,sqlite:2,start:1,step:[2,3],store:2,straightforward:2,string:2,style:3,sudo:2,support:2,sure:[2,3],system:2,tab:3,take:3,tell:3,temp:2,templat:4,test:[2,3],textbox:3,thei:2,them:[2,3,4],theme:1,thi:[1,2,3,4],thing:3,through:[1,3,4],time:3,timeout:2,tini:3,tmp:2,toggl:4,top:[2,3],tri:3,tutori:1,tweak:2,type:3,ubuntu:2,ultim:2,unfortun:2,unpack:2,until:3,upgrad:1,uri:3,user:[1,2],vcvarsal:2,video:1,view:[2,3,4],visual:1,walk:4,walkthrough:4,want:[2,3],web:2,webserver_thread:2,week:3,well:3,wheel:2,when:3,where:[2,3],whether:2,which:[1,2,3],who:1,widget:4,window:[2,3],won:2,work:[3,4],wtf:2,x86_amd64:2,year:3,yet:3,you:[2,3,4],your:[2,3,4],yum:2},titles:["Gallery","Overview","Installation & Configuration","Tutorial","Videos"],titleterms:{annot:4,cach:2,caravel:2,configur:2,content:1,creation:4,css:4,custom:4,dashboard:4,deeper:2,defin:4,depend:2,druid:2,express:4,featur:1,filter:4,galleri:0,get:2,indic:1,initi:2,instal:2,integr:2,intro:4,overview:1,postgr:2,quick:4,redshift:2,slice:4,sql:4,sqlalchemi:2,start:2,tabl:[1,4],theme:4,tutori:3,upgrad:2,video:4}}) \ No newline at end of file +Search.setIndex({envversion:46,filenames:["faq","gallery","index","installation","tutorial","videos"],objects:{},objnames:{},objtypes:{},terms:{"1thisismyscretkei":3,"64bit":3,"abstract":0,"default":3,"function":[2,3],"import":0,"new":[4,5],"return":0,"short":5,"true":3,"while":3,abl:3,about:[3,4],abov:[0,3],accept:0,access:[2,3,4,5],account:3,action:3,add:4,addit:3,admin:3,affect:5,after:3,aggreg:[2,4],ago:4,all:[0,3],allow:[0,2,3],alreadi:5,also:[3,4],alter:[4,5],analysi:0,ani:4,annot:2,app:3,appbuild:2,appli:[0,5],applic:3,apt:3,arbitrari:[0,4],around:4,aspect:5,attempt:3,authent:2,avail:[2,5],avoid:0,awar:3,back:[3,4],backend:3,bar:4,basic:4,bat:3,batch:0,been:[2,4],best:2,blob:3,brew:3,bring:3,browser:3,build:3,builder:3,bundl:3,button:4,cach:2,cache_config:3,call:3,caravel:[0,2],caravel_config:3,caravel_webserver_port:3,certain:5,cflag:3,chart:5,check:4,checkbox:4,click:4,cluster:3,collect:[4,5],column:4,come:[3,5],command:3,compli:3,concept:3,config:3,configur:2,connect:[3,4],constant:3,construct:4,consult:3,contain:[0,3],control:2,copi:3,could:4,creat:[2,3,4,5],create_engin:3,creation:2,credenti:3,criteria:[0,3],cryptographi:3,csrf:3,csrf_enabl:3,css:[2,4],current:3,custom:2,cut:4,cx_oracl:3,dashboard:[2,3,4],databas:[0,2],dataset:[2,5],datasourc:[0,3],date:4,debian:3,debug:3,deep:2,deeper:2,defin:[2,3],demonstr:5,depend:2,deriv:[3,5],describ:3,dev:3,devel:3,develop:3,dialect:3,differ:[4,5],dimens:[4,5],directli:[0,3],displai:2,distribut:0,doc:3,document:[3,4],doe:3,done:[3,4],down:[0,2],download:3,driver:3,drop:2,dropdown:4,druid:2,dynam:5,easi:3,easili:4,edit:[3,4],editor:4,effect:0,either:[3,4],element:3,encount:3,encrypt:3,engine_param:3,enough:0,ensur:3,enter:[3,4],enterpris:2,entiti:3,entri:4,env:3,error:3,essenti:3,except:3,execut:0,exist:[3,5],experi:0,explor:[3,4,5],expos:[3,5],express:[0,2,4],extens:2,extra:3,fabmanag:3,factor:0,fall:3,fashion:0,fast:0,fedora:3,fetch:4,few:[3,4],field:[0,2,3,4],figur:4,file:3,filesystem:3,fill:4,filter:[2,4],find:[3,4],first:4,flag:3,flask:[2,3],follow:3,form:4,found:4,frame:0,framework:3,from:[2,3,4,5],gcc:3,get:2,gigant:0,global:3,goe:3,good:0,googl:3,granular:2,group:0,guess:4,hard:4,have:3,here:[3,4,5],high:[2,5],hit:[3,4],hostnam:3,http:3,icon:4,immun:5,includ:3,index:2,individu:2,inform:[3,4],init:3,initi:2,instal:2,integr:2,interact:0,interest:[3,4],intric:2,intro:2,isn:3,item:3,json:3,just:4,kei:3,keyword:3,languag:[4,5],larg:0,layer:[0,2],ldap:2,ldflag:3,let:4,level:[3,5],lib:3,libffi:3,librari:[2,3],libssl:3,like:0,limit:0,linear:4,list:[3,4],load:3,load_exampl:3,local:3,localhost:3,logic:[0,3],login:3,made:2,mai:[0,3,4],main:[0,3],major:2,make:[3,4],manag:3,mani:[0,3],march:2,markdown:5,match:3,materi:0,memcach:3,memori:3,mention:0,menu:[3,4],metadata:[3,4],metadata_param:3,metric:[2,4,5],might:0,modal:4,mode:3,model:2,modul:[2,3],moment:4,more:3,most:[0,2],move:4,mssql:3,mysql:3,mysqlclient:3,name:[2,3,4],natur:4,navig:[3,4,5],need:[0,3,4],next:[3,4],note:[3,4],now:4,oauth:2,object:3,offici:3,onc:[3,4],onli:[0,3],openid:2,openssl:3,option:4,oracl:3,origin:4,osx:3,other:[3,4,5],out:[0,4],own:[0,5],packag:3,page:2,panoramix:2,paramet:3,part:3,password:3,past:3,path:3,pen:4,perform:0,permiss:[2,3],pick:4,pip:3,pkg:3,place:3,plai:3,pleas:3,plu:4,point:3,popul:3,popup:4,port:3,posit:4,possibl:[0,3],postgr:2,postgresql:3,practic:0,prefix:3,presto:3,process:0,project:2,provid:[0,2,3],psycopg2:3,purpos:3,pyhiv:3,pymssql:3,pypi:3,python:3,pythonpath:3,quick:2,rdbm:2,readi:2,recommend:3,redi:3,redshift:2,refer:[3,4],refresh:3,refresh_druid:3,rel:4,relev:4,remote_us:2,renam:[2,4],requir:3,resiz:4,result:0,rhel:3,rich:2,right:[3,4],roadmap:3,role:3,row_limit:3,rule:2,run:[0,3],runserv:3,same:4,save:4,scan:0,schedul:0,schema:3,search:2,searchabl:4,searchpath:3,secret:3,secret_kei:3,secur:2,see:4,select:4,semant:[2,5],serv:0,server:3,set:[2,3],setuptool:3,share:2,ship:3,should:[2,3,4],show:[2,3,4,5],shown:4,sign:[3,4],similar:4,simpl:[0,2,3,5],simplecach:3,simpli:4,singl:0,size:4,slice:[2,3,4],slow:0,small:0,solut:0,some:[0,2,3,4],soon:5,specif:3,specifi:3,specifix:3,sql:[0,2,4],sqlalchemi:[0,2],sqlalchemy_database_uri:3,sqlite:3,standard:3,start:2,step:[3,4],store:3,straightforward:3,string:3,style:4,sudo:3,support:3,sure:[3,4],system:3,tab:4,take:4,tell:4,temp:3,templat:5,terabyt:0,test:[3,4],textbox:4,thei:3,them:[3,4,5],theme:2,thi:[0,2,3,4,5],thing:4,through:[0,2,3,4,5],timeout:3,tini:4,tmp:3,toggl:5,top:[0,3,4],transform:0,tri:4,tutori:2,tweak:3,twice:0,type:4,ubuntu:3,ultim:3,unfortun:3,union:0,unpack:3,until:4,upgrad:2,uri:[3,4],user:[0,2,3],vcvarsal:3,video:2,view:[0,3,4,5],virtual:0,visual:2,walk:5,walkthrough:5,want:[3,4],web:3,webserver_thread:3,week:4,well:[3,4],wheel:3,when:[0,4],where:[0,3,4],whether:[0,3],which:[2,3,4],who:2,widget:5,window:[3,4],won:3,work:[0,4,5],would:0,wtf:3,x86_amd64:3,year:4,yet:4,you:[0,3,4,5],your:[0,3,4,5],yourself:0,yum:3},titles:["FAQ","Gallery","Overview","Installation & Configuration","Tutorial","Videos"],titleterms:{annot:5,big:0,cach:3,can:0,caravel:3,configur:3,content:2,creation:5,css:5,custom:5,dashboard:5,data:0,databas:3,deeper:3,defin:5,depend:3,druid:3,express:5,faq:0,featur:2,filter:5,galleri:1,get:3,how:0,indic:2,initi:3,instal:3,integr:3,intro:5,join:0,multipl:0,overview:2,postgr:3,queri:0,quick:5,redshift:3,slice:5,sourc:0,sql:5,sqlalchemi:3,start:3,tabl:[0,2,5],theme:5,time:0,tutori:4,upgrad:3,video:5}}) \ No newline at end of file diff --git a/tutorial.html b/tutorial.html index f087e4b57e6..0b69631c653 100644 --- a/tutorial.html +++ b/tutorial.html @@ -72,6 +72,7 @@
  • Tutorial
  • Videos
  • Gallery
  • +
  • FAQ
  • diff --git a/videos.html b/videos.html index 689c0902bc1..6eca61486bd 100644 --- a/videos.html +++ b/videos.html @@ -72,6 +72,7 @@
  • Tutorial
  • Videos
  • Gallery
  • +
  • FAQ