메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

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


1. 정렬 수행

        // data를 담고 있는 List변수

List<Map<String, String>> list = new ArrayList<Map<String, String>>();

        // List에 담기는 Map변수

HashMap<String,String> row = new HashMap<String, String>;


// 정렬실행

Collections.sort(list, new MapStringComparator("rest_type"));

Collections.sort(list, new MapStringComparator("corner_id"));

Collections.sort(list, new MapFloatComparator("cnt"));


2. 정렬 클래스(문자열)

class MapStringComparator implements Comparator<Map<String, String>> {
		private final String key;
		
		public MapStringComparator(String key) {
			this.key = key;
		}
		
		@Override
		public int compare(Map<String, String> first, Map<String, String> second) {
			String firstValue =first.get(key);
	        String secondValue = second.get(key);
	        
	         // 내림차순 정렬
             return firstValue.compareTo(secondValue);
		}
	}


3. 정렬 클래스(숫자)

class MapFloatComparator implements Comparator<Map<String, String>> {
		private final String key;
		
		public MapFloatComparator(String key) {
			this.key = key;
		}
		
		@Override
		public int compare(Map<String, String> first, Map<String, String> second) {
			float firstValue = Float.valueOf(first.get(key));
	         float secondValue = Float.valueOf(second.get(key));
	         
			// 내림차순 정렬
	         if (firstValue > secondValue) {
	             return -1;
	         } else if (firstValue < secondValue) {
	             return 1;
	         } else /* if (firstValue == secondValue) */ {
	             return 0;
	         }
		}
	}


번호 제목 날짜 조회 수
341 Cloudera Manager에서 "Mismatched CDH versions: host has NONE but role expects 5 Suppress..."와 같이 오류 발생시 확인사항 2018.06.06 443
340 Eclipse 에서 bitbucket.org 연동 하기 file 2017.06.08 443
339 kudu hms check 사용법(예시) 2021.10.22 442
338 maven을 이용하여 Hello world 서비스 자동 생성시 HelloServiceImpl.java에서 사용하는 getMessage() 와 getName() 이 정의되지 않은 오류가 발생시 조치방법 2018.01.19 441
337 git설명 한글판 2015.12.09 440
336 oozie db변경후 재기동시 "Table 'oozie.VALIDATE_CONN' doesn't exist" 오류 발생시 조치방법 2018.05.23 439
335 CentOS6에 python3.5.1 소스코드로 빌드하여 설치하기 2016.05.27 439
334 spark 시동중 applicationHistory 로그 디렉토리가 없다고 하면서 기동되지 않는 경우 2018.06.01 436
333 우분투 16.04LTS에 Zeppelin 0.7.3설치 2018.04.18 435
332 HDFS상의 /tmp폴더에 Permission denied오류가 발생시 조치사항 2017.01.25 433
331 [TLS/SSL]Cloudera 6.3.4기준 Oozie Web UI TLS설정 항목및 설정값 2022.05.13 432
330 jena/fuseki 3.4.0 설치 2017.07.25 432
329 "You are running Cloudera Manager in non-production mode.." warning메세지가 나타나지 않게 조치하는 방법 2018.05.23 431
328 부팅을 외장하드에서 하도록 변경하는 방법 2015.07.28 430
327 cloudera서비스 중지및 기동순서 2020.02.14 428
326 bin/start-hbase.sh실행시 org.apache.hadoop.hbase.util.FileSystemVersionException: HBase file layout needs to be upgraded오류가 발생하면 조치사항 2016.08.01 428
325 [oozie] oozie shell action에서 shellscript수행결과의 2개 변수를 decision 액션에서 사용하기 2020.06.05 427
324 [sentry]role부여후 테이블명이 변경되어 오류가 발생할때 조치방법 2018.10.16 427
323 Cloudera가 사용하는 서비스별 포트 2018.03.29 427
322 [Sentry] sentry메타 DB를 이용하여 테이블에 매핑되어 있는 role명칭 찾는 방법. 2022.06.22 426
위로