上午时弄了半天的pyspark,没有想到还有thrift-server和pyhs2这样的神器。
使用过程比pyspark的使用更为简单,用了之后类似于使用数据库的感觉。(connect,cursor,execute这些方法及使用完全和用psycopg2连接postgresql的感觉一致),当然,这只是我目前粗浅的尝试的感觉。
1.首先得启动thrift-server,命令大概类似于:
cd /usr/local/spark/sbin
sudo ./start-thriftserver.sh --maset local
2.连接成功之后,就可以用spark/bin目录下的beeline进行jdbc连接测试了。如下图所示:
3.那么py脚本如何进行连接和查询呢?
它需要通过pyhs2 driver,可以理解为一个“数据库连接的驱动”。
下载地址为:https://github.com/BradRuderman/pyhs2
害怕github以后也会被墙,我决定等会在优快云上把它上传一下。
安装pyhs2和安装所有python第三方库一样,解压缩之后,直接运行python setup.py install ,它就会被安装到python安装目录的site-package下。
值得注意的是,它需要依赖sasl包。所以在安装它之前,需要执行一下apt-get install libsasl2-dev。
4.接下来就可以愉快的使用了,下面的截图是在python命令行中的执行:
可以看到,所有的方法,和连接普通的数据库的方法,几乎完全一致。使用过程中感觉不到任何区别。
5.点题一下,在django中的使用。
a.python安装了新的第三方库,所以需要在eclipse中进行一下添加,要不然写代码时就会报错。
window->preference->PyDev->Interpreters->Python Interpreter->New Egg/zips
将新装的pyhs2加上,如截图所示:
b.然后我们开始写读表的代码:
c.运行结果如下图所示: