input {
elasticsearch {
hosts => "localhost:9200" # 실제 데이터가 들어있는 host로 변경 필요
index => "shopping" # csv로 추출하려는 데이터가 담긴 index
query => '{ # 선택한 index에서 어떤 데이터를 추출할 건지 query DSL 작성
"query" : {
"match_all" : {
}
}
}'
}
}
output {
csv {
fields => ["주문시간", "물건좌표"] # csv 파일에 필요한 field 입력
path => "/home/ec2-user/shopping-logstash.csv" # 파일이 저장될 경로 입력
}
}
import csv
from elasticsearch import Elasticsearch
es = Elasticsearch(hosts=["localhost:9200"])
data = es.search(
index="shopping",
size=10000,
body={
"query" : {
"match_all" : {
}
}
}
)
csv_columns = ['상품가격', '상품분류', '예약여부', '구매사이트', '수령시간', \
'물건좌표', '주문시간', '결제카드', '고객ip', '판매자평점', '배송메모', \
'고객주소_시도', '상품개수', '접수번호', '고객나이', '고객성별'
]
csv_file = '/home/ec2-user/shopping-python.csv'
with open(csv_file, 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=csv_columns)
writer.writeheader()
for document in [x['_source'] for x in data['hits']['hits']]:
writer.writerow(document)
네
x-pack
Management-Advanced Settings-xpack.reporting.csv.maxSizeBytes에서 변경 가능oss
1. logstash 이용
$ bin/logstash-plugin install logstash-output-csv/home/ec2-user/shopping-logstash.csv에서 가능2. (python) client 이용
$ pip install elasticsearch==6.2.0/home/ec2-user/shopping-python.csv에서 가능3. Kibana Data Table 이용
Data TableVisualization을 이용해 원하는 형태로 테이블 생성Export옆에Raw또는Formatted중 선택해서 출력