메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


MongoDB의 json데이타를 GSON을 이용하여 parsing할때 아래와 같은 오류가 발생할 수 있는데 이는 ObjectId값이 String이 아닌 Object(클래스 형태)로 인식이 되어 발생하는 문제이다.

그래서 GSON 파싱할때 사용되는 클래스를 생성할때 {"_time":1480579094,"_machine":-1422354433,"_inc":-987106123,"_new":false}를 담을 수 있는 class를 생성하고 이 클래스를 멤버 변수로 가지고 있는 클래스를 만들어서 지정해주면 해결된다.


--------------오류 메세지--------------------

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 9
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
        at com.google.gson.Gson.fromJson(Gson.java:803)
        at com.google.gson.Gson.fromJson(Gson.java:768)
        at com.google.gson.Gson.fromJson(Gson.java:717)
        at com.google.gson.Gson.fromJson(Gson.java:689)
        at com.gooper.icbms.sda.sf.TripleService.getTriple(TripleService.java:64)
        at com.gooper.icbms.sda.kafka.onem2m.AvroOneM2MDataSubscribe$ConsumerT.run(AvroOneM2MDataSubscribe.java:135)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 9
        at com.google.gson.stream.JsonReader.nextString(JsonReader.java:821)
        at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:358)
        at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:346)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
        ... 9 more

번호 제목 날짜 조회 수
130 bananapi 5대(ubuntu계열 리눅스)에 yarn(hadoop 2.6.0)설치하기-ResourceManager HA/HDFS HA포함, JobHistory포함 2015.04.24 22230
129 mapreduce appliction을 실행시 "is running beyond virtual memory limits" 오류 발생시 조치사항 2017.05.04 19809
128 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /tmp/hadoop-root/dfs/name is in an inconsistent state: storage directory does not exist or is not accessible. 2013.03.11 17000
127 drop table로 삭제했으나 tablet server에는 여전히 존재하는 테이블 삭제방법 2021.07.09 10808
126 [Decommission]시 시간이 많이 걸리면서(수일) Decommission이 완료되지 않는 경우 조치 2018.01.03 10247
125 HBase shell로 작업하기 2013.03.15 8336
124 하둡 분산 파일 시스템을 기반으로 색인하고 검색하기 2013.03.15 7636
123 hadoop 2.6.0 기동(에코시스템 포함)및 wordcount 어플리케이션을 이용한 테스트 2015.05.05 6542
122 hadoop및 ecosystem에서 사용되는 명령문 정리 2014.05.28 6435
121 Hadoop Cluster 설치 (Hadoop+Zookeeper+Hbase) file 2013.03.07 6099
120 Hbase Shell 명령 정리 2013.04.01 6033
119 HBase 설치하기 – Fully-distributed 2013.03.12 6014
118 HBASE Client API : 기본 기능 정리 file 2013.04.01 5852
117 "java.net.NoRouteToHostException: 호스트로 갈 루트가 없음" 오류시 확인및 조치할 사항 2016.04.01 5814
116 hbase shell 필드 검색 방법 2015.05.24 5711
115 이클립스에서 생성한 jar 파일 hadoop 으로 실행하기 file 2013.03.06 5539
114 AIX 7.1에 MariaDB 10.2 소스 설치 2016.09.24 5455
113 org.apache.hadoop.security.AccessControlException: Permission denied: user=hadoop, access=WRITE, inode="":root:supergroup:rwxr-xr-x 오류 처리방법 2014.07.05 5385
112 mysql-server 기동시 Do you already have another mysqld server running on port 오류 발생할때 확인및 조치방법 2017.05.14 5345
111 banana pi에(lubuntu)에 hadoop설치하고 테스트하기 - 성공 file 2014.07.05 5344
위로