presto读取mysql数据

如果需要读取多数据源的数据的话,presto用起来就比较合适了。

安装

brew install presto

配置

配置文件目录:/usr/local/Cellar/presto/0.206/libexec/etc

  1. 修改config.properties里的端口号
  2. 在/etc下vim mysql.properties(连接mysql)

    connector.name=mysql
    connection-url=jdbc:mysql://example.net:3306
    connection-user=root
    connection-password=secret

    Read More

mysql实时同步到elasticsearch

以下插件实现MySQL数据自动同步到Elasticsearch的功能

go-mysql-elasticsearch

是一种将MySQL数据自动同步到Elasticsearch的服务。

它首先用于mysqldump获取原始数据,然后使用binlog逐步同步数据。

优点:支持实时增删改

缺点:只支持有主键的表

logstash-input-jdbc

优点:操作简单

缺点:最快10s同步一次数据。支持增改,不支持删除

go-mysql-elasticsearch

使用前须知

数据库目前只支持有PK(PRIMARY KEY)

github: https://github.com/siddontang/go-mysql-elasticsearch

备注:本地需要安装go环境

Read More

ELK日志系统入门

filebeat -> logstash -> elasticsearch

filebeat 安装

brew install filebeat

filebeat下载地址

进入到filebeat的安装目录后,首先对filebeat.yml进行备份

cp filebeat.yml filebeat.yml.bak

开始编写第一个filebeat.yml

修改filebeat.yml,在 input_type 中修改日志paths,根据不同的输出修改output的值。

  • 项目中会采集多个日志文件,那么可以通过document_type来区分不同的日志源,方便根据不同的type来做后续处理。

比如;

paths:
   - /var/log/test.log
 input_type: log
 document_type: test

Read More

selenium+PhantomJs爬虫

需求:urlopen得到的数据不正确,发现是因为界面经过js渲染,故使用selenium尝试一下。

1. 安装

brew install selenium
brew install phantoms

配合Chrome使用需要安装chromedriver:

  1. 下载地址 注意驱动版本与浏览器版本要对应
  2. 将下载的可执行文件(chromedriver) 移动到/usr/bin下

最后,把 phantoms 路径添加到 bash 中,source一下生效。

export PHANTOMJS_HOME=/usr/local/Cellar/phantomjs/phantomjs-2.1.1-macosx
export PATH=$PATH:$PHANTOMJS_HOME/bin    

2. 使用selenium

简单测试一下:

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")     

获取网页内容: driver.page_source

Read More

spark读取hive数据-java

需求:将hive中的数据读取出来,写入es中。

环境:spark 2.0.2

1. SparkSession里设置enableHiveSupport()
1
2
3
4
5
6
7
8
SparkConf conf = new SparkConf().setAppName("appName").setMaster("local[*]");
SparkSession spark = SparkSession
.builder()
.appName("Java Spark SQL basic example hive")
.config(conf)
.enableHiveSupport() //支持hive
.getOrCreate();
2. pom 添加依赖 ( 对hive版本没要求 )
1
2
3
4
5
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.10</artifactId>
<version>1.2.1</version>
</dependency>

或者

1
2
3
4
5
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.11</artifactId>
<version>2.3.0</version>
</dependency>

Read More