Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 8 Next »

태그 데이터를 입력하기 위해서는 아래와 같은 다양한 방법을 활용할 수 있다.

INSERT 구문을 통해 입력하기

가장 간단한 방법으로 아래와 같이 INSERT 구문을 통해 입력할 수 있다.

간단하게 테스트 용도로 할 수 있는 방법이고, 만일 대량의 데이터를 빨리 넣고자 할 경우에는 다른 방법을 활용한다.

Mach> create tagdata table TAG (name varchar(20) primary key, time datetime basetime, value double summarized);
Executed successfully.
Elapsed time: 0.658
Mach>  insert into tag metadata values ('TAG_0001');
1 row(s) inserted.
Elapsed time: 0.001
Mach> insert into tag values('TAG_0001', now, 0);
1 row(s) inserted.
Elapsed time: 0.001
Mach> insert into tag values('TAG_0001', now, 1);
1 row(s) inserted.
Elapsed time: 0.001
Mach> insert into tag values('TAG_0001', now, 2);
1 row(s) inserted.
Elapsed time: 0.000
Mach> select * from tag where name = 'TAG_0001';
NAME                  TIME                            VALUE                       
--------------------------------------------------------------------------------------
TAG_0001              2018-12-19 17:41:37 806:901:728 0                           
TAG_0001              2018-12-19 17:41:42 327:839:368 1                           
TAG_0001              2018-12-19 17:41:43 812:782:202 2                           
[3] row(s) selected.
Elapsed time: 0.001
Mach> 

위와 같이 3개의 TAG 값을 현재의 시간으로 넣어 보았다.

CSV 화일을 통해 한꺼번에 로딩하기

마크베이스는 csvimport 라는 도구를 통해서 CSV 화일 대량으로 로딩할 수 있도록 해 준다.

더 자세한 내용은 실제 예제를 통해서 파악할 수 있으며, 아래에 간단하게 기술한다.

CSV 화일 형태 (data.csv)

TAG_0001, 2009-01-28 07:03:34 0:000:000, -41.98
TAG_0001, 2009-01-28 07:03:34 1:000:000, -46.50
TAG_0001, 2009-01-28 07:03:34 2:000:000, -36.16
....

위와 같이 <태그명, 시간, 값> 으로 구성된 csv 화일 준비한다.

물론, 태그명 TAG_0001이 존재해야 한다.

로딩 프로그램 csvimport  사용

csvimport -t TAG -d data.csv -F "time YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn" -l error.log

TAG라는 테이블에 data.csv를 로딩한다.

그리고, -F 옵션은 data.csv에 저장된 시간 포맷을 지정하는 것인데, 현재 화일은 나노 단위까지 값을 넣을 수 있도록 되어 있다.

또한, -l error.log 는 입력시 발생한 에러에 대해 별도의 화일로 기록하는 것이다.

Rest API를 통해 입력하기

Rest API의 더 자세한 사용법은 다음의 활용 예제를 참고하도록 한다.

입력 API 문법

마크베이스는 다음과 같이 Restful API를 제공한다.

{
 "values":[
     [TAG_NAME, TAG_TIME, VALUE],  # 태그명,시간,값을 입력한다. TAG 형태에 따라 부가 컬럼 추가 필요 
     [ .... ]....
 ], 
 "date_format":"Date Format"       # date_format은 생략시 'YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn' 로 설정된다.
}

정의된 TAG 스키마의  컬럼 갯수만큼의 값을 위의 구조와 일치되도록 요청한다.

SDK를 통해 데이터 입력하기

마크베이스는 아래와 같은 다양한 언어의 표준 개발 툴을 제공하고 있다.

  • C/C++ library
  • JAVA library
  • Python library
  • C# library

이러한 라이브러리를 통해서 사용자는 자신의 환경에 따라 다양한 형태의 응용 프로그램을 작성하여 마크베이스에 대한 데이터 입력이 가능하다.


  • No labels