segunda-feira, 21 de outubro de 2019

GCP - Bigquery - String to Timestamp



Obs: Transforma string (20191010) em um timestamp

Obs2: Transforma string(20191020) em um timestamp e soma mais 1 dia

select *
from  `MeuProjeto.Conjunto.TabelaExemplo` 
where data >= CAST(PARSE_DATE('%Y%m%d',  '20191010') AS TIMESTAMP) 
and data < TIMESTAMP_ADD(
              CAST(PARSE_DATE('%Y%m%d','20191020') AS TIMESTAMP),INTERVAL 1 DAY) 
order by 1 desc
Obrigado


Python - Inserindo no ElasticSearch



#!/usr/bin/python
# -*- coding: latin-1 -*-
import requests	
import json
import sys
from datetime import datetime

# Parametros de entrada
programa = str(sys.argv[1])
tipo = 	str(sys.argv[2])
mensagem = str(sys.argv[3])


#connectando ao cluster
from elasticsearch import Elasticsearch
es = Elasticsearch([{'host': 'localhost', 'port': 9200}])


#tentando acessar
try:
	res = requests.get('http://localhost:9200')
except Exception as ex:
	print("Error:", ex)

#Inserindo dados no ElasticSearch	
def insert_elastic(programa, tipo, mensagem):
	doc = {
		'author': 'DominaTudo',
		'sistema': programa,
		'tipo': tipo,
		'message': mensagem ,
		'timestamp': datetime.utcnow(),
	}
	res = es.index(index="teste_auto", doc_type='teste', body=doc)
	print(res['result'])


#Executa funcao que insere no ElasticSearch
insert_elastic(programa, tipo,mensagem)