사용법

>>> s1 = set([1,2,3])

>>> s1

{1, 2, 3}

위와 같이 set()의 괄호 안에 리스트를 입력하여 만들거나 아래와 같이 문자열을 입력하여 만들 수도 있다.

 

>>> s2 = set("Hello")

>>> s2

{'e', 'l', 'o', 'H'}

특징

중복을 허용하지 않는다.

순서가 없다(Unordered).

리스트나 튜플은 순서가 있기(ordered) 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있지만 set 자료형은 순서가 없기(unordered) 때문에 인덱싱으로 값을 얻을 수 없다. 만약 set 자료형에 저장된 값을 인덱싱으로 접근하려면 다음과 같이 리스트나 튜플로 변환한 후 해야 한다.


순서 자료형

 리스트 , 튜플

 무순서 자료형

 딕셔너리, 집합



(중복을 허용하지 않는 set의 특징은 자료형의 중복을 제거하기 위한 필터 역할로 종종 사용되기도 한다.)

 

>>> s1 = set([1,2,3])

>>> l1 = list(s1)

>>> l1

[1, 2, 3]

>>> l1[0]

1

>>> t1 = tuple(s1)

>>> t1

(1, 2, 3)

>>> t1[0]

1

 

집합 자료형 활용하는 방법

>>> s1 = set([1, 2, 3, 4, 5, 6])

>>> s2 = set([4, 5, 6, 7, 8, 9])


교집합

>>> s1 & s2

{4, 5, 6}

"&" 기호를 이용하면 교집합을 간단히 구할 수 있다.

 

또는 다음과 같이 intersection 함수를 사용해도 동일한 결과를 리턴한다.

>>> s1.intersection(s2)

{4, 5, 6}

s2.intersection(s1)을 사용해도 결과는 같다.

 

합집합

4, 5, 6처럼 중복해서 포함된 값은 한 개씩만 표현된다.

>>> s1 | s2

{1, 2, 3, 4, 5, 6, 7, 8, 9}

"|" 기호를 이용한 방법이다.

 

>>> s1.union(s2)

{1, 2, 3, 4, 5, 6, 7, 8, 9}

또는 union 함수를 이용하면 된다. 교집합에서 사용했던 intersection 함수와 마찬가지로 s2.union(s1)을 사용해도 동일한 결과를 리턴한다.

 

차집합

>>> s1 - s2

{1, 2, 3}

>>> s2 - s1

{8, 9, 7}

빼기(-) 기호를 이용한 방법이다.

 

>>> s1.difference(s2)

{1, 2, 3}

>>> s2.difference(s1)

{8, 9, 7}

difference 함수를 이용해도 차집합을 구할 수 있다.

 

집합 자료형 관련 함수들

1개 추가하기(add)

1개의 값만 추가(add)

>>> s1 = set([1, 2, 3])

>>> s1.add(4)

>>> s1

{1, 2, 3, 4}

값 여러 개 추가하기(update)

>>> s1 = set([1, 2, 3])

>>> s1.update([4, 5, 6])

>>> s1

{1, 2, 3, 4, 5, 6}

 

특정 값 제거하기(remove)

>>> s1 = set([1, 2, 3])

>>> s1.remove(2)

>>> s1

{1, 3}



참조 : 점프 투 파이썬 (https://wikidocs.net/1015)

'Programming > Python' 카테고리의 다른 글

while 문  (0) 2017.05.08
if-elif-else 문  (0) 2017.05.07
자료형(5) - Dictionary  (0) 2017.05.07
자료형(4) - 튜플  (0) 2017.05.07
자료형(3) - 리스트  (0) 2017.05.07

대응 관계를 나타내는 자료형을 연관 배열(Associative array) 또는 해시(Hash)라고 한다.

 

파이썬에서는 이러한 자료형을 딕셔너리(Dictionary)라고 하는데, 딕셔너리는 KeyValue라는 것을 한 쌍으로 갖는 자료형이다.

 

딕셔너리의 가장 큰 특징은 리스트나 튜플처럼 순차적으로(sequential) 해당 요소값을 구하지 않고 Key를 통해 Value를 얻는다.

 

사용법

>>> dic = {'name':'Enliven', 'phone':'01012341234', 'birth': '1210', 'etc': [1,2,3] }

 

추가하기

>>> a = {1: 'a'}

>>> a[2] = 'b'

>>> a

{2: 'b', 1: 'a'}

 

삭제하기

>>> del a[2]

>>> a

{1: 'a'}

 

Key는 중복하여 사용하면 안된다!

 

딕셔너리 관련 함수들

Key 리스트 만들기(keys)

>>> a =  {'name':'Enliven', 'phone':'01012341234', 'birth': '1210'}

>>> a.keys()

dict_keys(['name', 'phone', 'birth'])

 a.keys()는 딕셔너리 aKey만을 모아서 dict_keys라는 객체를 리턴한다.

dict_keys 객체는 다음과 같이 사용할 수 있다. 리스트를 사용하는 것과 차이가 없지만, 리스트 고유의 함수인 append, insert, pop, remove, sort등의 함수를 수행할 수는 없다.

 

>>> for k in a.keys():

... print(k)

...

phone

birth

name


dict_keys 객체를 리스트로 변환하려면 다음과 같이 하면 된다. 

>>> list(a.keys())

['phone', 'birth', 'name']

 

Value 리스트 만들기(values)

>>> a.values()

dict_values(['pey', '0119993323', '1118'])

Key를 얻는 것과 마찬가지 방법으로 Value만 얻고 싶다면 a.values()처럼 values 함수를 사용하면 된다. values 함수를 호출하면 dict_values 객체가 리턴되는데, dict_values 객체 역시 dict_keys 객체와 마찬가지로 리스트를 사용하는 것과 동일하게 사용하면 된다.

 

Key, Value 쌍 얻기(items)

>>> a.items()

dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

items 함수는 keyvalue의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려준다.

 

Key: Value 쌍 모두 지우기(clear)

>>> a.clear()

>>> a

{}

clear() 함수는 딕셔너리 안의 모든 요소를 삭제한다. 빈 리스트를 [ ], 빈 튜플을 ()로 표현하는 것과 마찬가지로 빈 딕셔너리도 { }로 표현한다.

 

KeyValue얻기(get)

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

>>> a.get('name')

'pey'

>>> a.get('phone')

'0119993323'

get(x) 함수는 x라는 key에 대응되는 value를 돌려준다. 앞서 살펴보았듯이 a.get('name')a['name']을 사용했을 때와 동일한 결과값을 돌려받는다.

 

다만, 다음 예제에서 볼 수 있듯이 a['nokey']처럼 존재하지 않는 키(nokey)로 값을 가져오려고 할 경우 a['nokey']Key 오류를 발생시키고 a.get('nokey')None을 리턴한다는 차이가 있다. 어떤것을 사용할지는 여러분의 선택이다.

>>> a.get('nokey')

>>> a['nokey']

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

KeyError: 'nokey'

딕셔너리 안에 찾으려는 key 값이 없을 경우 미리 정해 둔 디폴트 값을 대신 가져오게 하고 싶을 때에는 get(x, '디폴트 값')을 사용하면 편리하다.

 

>>> a.get('foo', 'bar')

'bar'

a 딕셔너리에는 'foo'에 해당하는 값이 없다. 따라서 디폴트 값인 'bar'를 리턴한다.

 

해당 Key가 딕셔너리 안에 있는지 조사하기(in)

>>> a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}

>>> 'name' in a

True

>>> 'email' in a

False

'name'이라는 문자열은 a 딕셔너리의 key 중 하나이다. 따라서 'name' in a를 호출하면 참(True)을 리턴한다. 반대로 'email' a 딕셔너리 안에 존재하지 않는 key이므로 거짓(False)을 리턴하게 된다.

'Programming > Python' 카테고리의 다른 글

if-elif-else 문  (0) 2017.05.07
자료형(6) - 집합(Set)  (0) 2017.05.07
자료형(4) - 튜플  (0) 2017.05.07
자료형(3) - 리스트  (0) 2017.05.07
자료형(2) - 문자형  (0) 2017.05.07

튜플과 리스트의 차이점

리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싼다.

리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.

 

>>> t1 = ()

>>> t2 = (1,)

>>> t3 = (1, 2, 3)

>>> t4 = 1, 2, 3

>>> t5 = ('a', 'b', ('ab', 'cd'))

 

Indexing

>>> t1 = (1, 2, 'a', 'b')

>>> t1[0]

1

>>> t1[3]

'b'

 

Silcing

>>> t1 = (1, 2, 'a', 'b')

>>> t1[1:]

(2, 'a', 'b')

 

튜플 더하기

>>> t2 = (3, 4)

>>> t1 + t2

(1, 2, 'a', 'b', 3, 4)

 

튜플 반복

>>> t2 * 3

(3, 4, 3, 4, 3, 4)



참조 : 점프 투 파이(썬https://wikidocs.net/15)

'Programming > Python' 카테고리의 다른 글

자료형(6) - 집합(Set)  (0) 2017.05.07
자료형(5) - Dictionary  (0) 2017.05.07
자료형(3) - 리스트  (0) 2017.05.07
자료형(2) - 문자형  (0) 2017.05.07
자료형(1) - 숫자형  (0) 2017.05.07

리스트

>>> a = [1,2,3,4,5,6,7,8]

>>> b = [1, 2, ['I', 'am']]

 

리스트의 인덱싱

a[0] == 1

a[-1] == 8

b[2] == [‘I’, ‘am’]

b[2][1] == ‘am’

리스트의 슬라이싱

a[0:2] == [1,2,3]

 

리스트연산자

더하기

>>> a + b

[1,2,3,4,5,6,7,8,1, 2, ['I', 'am']]

 

반복하기

>>> a * 2

[1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8]

 

리스트 수정/삭제

>>> a[0] = 10

>>> a

>>> [10,2,3,4,5,6,7,8]

 

>>> del a[0]

>>> a

>>> [2,3,4,5,6,7,8]

 

리스트 관련 함수 

리스트에 요소 추가(append)

>>> a = [1, 2, 3]

>>> a.append(4)

>>> a

[1, 2, 3, 4]

리스트 안에는 어떤 자료형도 추가할 수 있다.

 

리스트 정렬(sort)

sort 함수는 리스트의 요소를 순서대로 정렬해 준다.

>>> a = ['a', 'c', 'b']

>>> a.sort()

>>> a

['a', 'b', 'c']

 

리스트 뒤집기(reverse)

reverse 함수는 리스트를 역순으로 뒤집어 준다. 현재의 리스트를 그대로 거꾸로 뒤집을 뿐이다.

>>> a = ['a', 'c', 'b']

>>> a.reverse()

>>> a

['b', 'c', 'a']

 

위치 반환(index)

index(x) 함수는 리스트에 x라는 값이 있으면 x의 위치값을 리턴한다.

>>> a = [1,2,3]

>>> a.index(3)

2


0이라는 값은 a 리스트에 존재하지 않기 때문에 값 오류(ValueError)가 발생한다.

>>> a.index(0)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ValueError: 0 is not in list

 

리스트에 요소 삽입(insert)

insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수이다.

>>> a = [1, 2, 3]

>>> a.insert(3, 5)

[1, 2, 3, 5]

리스트 aa[3], 즉 네 번째 요소 위치에 5라는 값을 삽입하라는 뜻이다.

 

리스트 요소 제거(remove)

remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수이다.

>>> a = [1, 2, 3, 1, 2, 3]

>>> a.remove(3)

[1, 2, 1, 2, 3]

a3이라는 값을 2개 가지고 있을 경우 첫 번째 3만 제거되는 것을 알 수 있다.

 

리스트 요소 끄집어내기(pop)

pop()은 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제하는 함수이다.

>>> a = [1,2,3]

>>> a.pop()

3

>>> a

[1, 2]

a 리스트 [1,2,3]에서 3을 끄집어내고 최종적으로 [1, 2]만 남는 것을 볼 수 있다.

 

pop(x)는 리스트의 x번째 요소를 돌려 주고 그 요소는 삭제한다.

>>> a = [1,2,3]

>>> a.pop(1)

2

>>> a

[1, 3]

a.pop(1)a[1]의 값을 끄집어낸다. 다시 a를 출력해 보면 끄집어낸 값이 삭제된 것을 확인할 수 있다.

 

리스트에 포함된 요소 x의 개수 세기(count)

count(x)는 리스트 내에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함수이다.

>>> a = [1,2,3,1]

>>> a.count(1)

2

1이라는 값이 리스트 a2개 들어 있으므로 2를 돌려준다.

 

리스트 확장(extend)

extend(x)에서 x에는 리스트만 올 수 있으며 원래의 a 리스트에 x 리스트를 더하게 된다.

>>> a = [1,2,3]

>>> a.extend([4,5])

>>> a

[1, 2, 3, 4, 5]

>>> b = [6, 7]

>>> a.extend(b)

>>> a

[1, 2, 3, 4, 5, 6, 7]

a.extend([4,5])a += [4,5]와 동일하고, a += [4, 5]a = a + [4, 5]와 같은 표현이다.


참조 : 점프 투 파이썬 (https://wikidocs.net/14)

'Programming > Python' 카테고리의 다른 글

자료형(6) - 집합(Set)  (0) 2017.05.07
자료형(5) - Dictionary  (0) 2017.05.07
자료형(4) - 튜플  (0) 2017.05.07
자료형(2) - 문자형  (0) 2017.05.07
자료형(1) - 숫자형  (0) 2017.05.07

문자열 만들기

“” (쌍따옴표)

‘’ (따옴표)

“““ ””” (쌍따옴표 3개)

‘‘‘ ’’’ (따옴표 3개)

 

문자열 연산하기

문자열 더하기

>>> str1 = "Enlive"

>>> str2 = " is hansome!"

>>> str1 + str2

'Enliven is hansome!'

 

문자열 반복하기

>>> a = "abc"

>>> a * 3

'abcabcabc'

 

문자열 인덱싱과 슬라이싱

인덱싱(Indexing)이란 무엇인가를 "가리킨다"는 의미이고,

슬라이싱(Slicing)은 무엇인가를 "잘라낸다"는 의미이다.

>>> str = 'Enliven is hansome!'

str[0] == ‘E’ (Indexing)

str[0:6] == 'Enliven’ (Slicing)

 

문자열 포매팅

문자열 포매팅이란 쉽게 말해 문자열 내에 어떤 값을 삽입하는 방법이다.

 

코드

설명

%s

문자열 (String)

%c

문자 1(character)

%d

정수 (Integer)

%f

부동소수 (floating-point)

%o

8진수

%x

16진수

%%

Literal % (문자 % 자체)

 

문자열 관련 함수들

문자 개수 세기(count)

>>> a = "hobby"

>>> a.count('b')

2

문자열 중 문자 b의 개수를 반환한다.

 

위치 알려주기1(find)

>>> a = "Python is best choice"

>>> a.find('b')

10

>>> a.find('k')

-1

문자열 중 문자 b가 처음으로 나온 위치를 반환한다. 만약 찾는 문자나 문자열이 존재하지 않는다면 -1을 반환한다.

 

위치 알려주기2(index)

>>> a = "Life is too short"

>>> a.index('t')

8

>>> a.index('k')

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ValueError: substring not found

문자열 중 문자 t가 맨 처음으로 나온 위치를 반환한다. 만약 찾는 문자나 문자열이 존재하지 않는다면 오류를 발생시킨다. 앞의 find 함수와 다른 점은 문자열 안에 존재하지 않는 문자를 찾으면 오류가 발생한다는 점이다.

 

문자열 삽입(join)

>>> a= ","

>>> a.join('abcd')

'a,b,c,d'

abcd라는 문자열의 각각의 문자 사이에 변수 a의 값인 ','를 삽입한다.

 

소문자를 대문자로 바꾸기(upper)

>>> a = "hi"

>>> a.upper()

'HI'

upper() 함수는 소문자를 대문자로 바꾸어 준다. 만약 문자열이 이미 대문자라면 아무런 변화도 일어나지 않을 것이다.

 

대문자를 소문자로 바꾸기(lower)

>>> a = "HI"

>>> a.lower()

'hi'

lower() 함수는 대문자를 소문자로 바꾸어 준다.

 

왼쪽 공백 지우기(lstrip)

>>> a = " hi "

>>> a.lstrip()

'hi '

문자열 중 가장 왼쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다. lstrip에서 lleft를 의미한다.

 

오른쪽 공백 지우기(rstrip)

>>> a= " hi "

>>> a.rstrip()

' hi'

문자열 중 가장 오른쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다. rstrip에서 rright를 의미한다.

 

양쪽 공백 지우기(strip)

>>> a = " hi "

>>> a.strip()

'hi'

문자열 양쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지운다.

 

문자열 바꾸기(replace)

>>> a = "Life is too short"

>>> a.replace("Life", "Your leg")

'Your leg is too short'

replace(바뀌게 될 문자열, 바꿀 문자열)처럼 사용해서 문자열 내의 특정한 값을 다른 값으로 치환해 준다.

 

문자열 나누기(split)

>>> a = "Life is too short"

>>> a.split()

['Life', 'is', 'too', 'short']

>>> a = "a:b:c:d"

>>> a.split(':')

['a', 'b', 'c', 'd']

a.split()처럼 괄호 안에 아무런 값도 넣어 주지 않으면 공백을 기준으로 문자열을 나누어 준다. 만약 a.split(':')처럼 괄호 안에 특정한 값이 있을 경우에는 괄호 안의 값을 구분자로 해서 문자열을 나누어 준다. 이렇게 나눈 값은 리스트에 하나씩 들어가게 된다.

 

 

포맷(format) : 인덱스와 이름을 혼용해서 넣기

>>> "I ate {0} apples. so I was sick for {day} days.".format(10, day=3)

'I ate 10 apples. so I was sick for 3 days.'

위와 같이 인덱스 항목과 name=value 형태를 혼용하는 것도 가능하다.



참조 : 점프 투 파이썬 (https://wikidocs.net/13)

'Programming > Python' 카테고리의 다른 글

자료형(6) - 집합(Set)  (0) 2017.05.07
자료형(5) - Dictionary  (0) 2017.05.07
자료형(4) - 튜플  (0) 2017.05.07
자료형(3) - 리스트  (0) 2017.05.07
자료형(1) - 숫자형  (0) 2017.05.07

숫자형

 

정수

353, -102, 0

실수

123.45, -1234.5, 3.4e10(e10^1을 나타내며 e10=10^10)

8진수

0o17, 0o43 (0o로 시작한다.)

16진수

0xC0, 0xFF (0x로 시작한다.)

 

연산자

사칙연산

+, -, *, /

a**b

ab제곱연산

%

나머지를 출력 한다.

//

나눗셈 후 소수점이하를 버린다.

 


참조 : 점프 투 파이썬(https://wikidocs.net/12)

'Programming > Python' 카테고리의 다른 글

자료형(6) - 집합(Set)  (0) 2017.05.07
자료형(5) - Dictionary  (0) 2017.05.07
자료형(4) - 튜플  (0) 2017.05.07
자료형(3) - 리스트  (0) 2017.05.07
자료형(2) - 문자형  (0) 2017.05.07

정규 표현식

특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있다.

컴퓨터 과학의 정규언어로부터 유래하였으나 구현체에 따라서 정규 언어보다 더 넓은 언어를 표현할 수 있는 경우도 있으며, 심지어 정규 표현식 자체의 문법도 여러 가지 존재하고 있다. 수많은 프로그래밍 언어가 정규 표현식 기능을 제공하고 있으며, 일부는 펄, 자바스크립트, 루비, Tcl처럼 기본 내장되어 있는 반면 닷넷 언어, 자바, 파이썬, POSIX C, C++ (C++11 이후)에서는 표준 라이브러리를 이용하여 구현한다. 그 밖의 대부분의 언어들은 라이브러리를 통해 정규식을 제공한다.


기본 개념

주로 패턴(pattern)으로 부르는 정규 표현식은 특정 목적을 위해 필요한 문자열 집합을 지정하기 위해 쓰이는 식이다.

"또는"

수직선은 여러 항목 중 선택을 하기 위해 구분한다. 이를테면 gray|grey"gray" 또는 "grey"와 일치한다.

그룹 묶기

괄호를사용하면 연산자의 범위와 우선권을 정의할 수 있다. 이를테면 gray|greygr(a|e)y"gray""grey" 집합을 둘 다 기술하는 동일 패턴이다.

양의 지정

?

물음표는 0번 또는 1차례까지의 발생을 의미한다. 이를테면 colou?r"color""colour"를 둘 다 일치시킨다.

*

별표는 0번 이상의 발생을 의미한다. 이를테면 ab*c"ac", "abc", "abbc", "abbbc" 등을 일치시킨다.

+

덧셈 기호는 1번 이상의 발생을 의미한다. 이를테면 ab+c"abc", "abbc", "abbbc" 등을 일치시키지만 "ac"는 일치시키지 않는다.

{n}

정확히 n 번만큼 일치시킨다.

{min,}

"min"번 이상만큼 일치시킨다.

{min,max}

적어도 "min"번만큼 일치시키지만 "max"번을 초과하여 일치시키지는 않는다.



출처 : https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D#.EA.B8.B0.EB.B3.B8_.EA.B0.9C.EB.85.90



참고사이트

https://regexone.com/

'Programming > 정규표현식' 카테고리의 다른 글

정규표현식 사용하기  (0) 2017.05.08

내장기능


Return Type

Signature

Description

BIGINT

round(double a)

It returns the rounded BIGINT value of the double.

BIGINT

floor(double a)

It returns the maximum BIGINT value that is equal or less than the double.

BIGINT

ceil(double a)

It returns the minimum BIGINT value that is equal or greater than the double.

double

rand(), rand(int seed)

It returns a random number that changes from row to row.

string

concat(string A, string B,...)

It returns the string resulting from concatenating B after A.

string

substr(string A, int start)

It returns the substring of A starting from start position till the end of string A.

string

substr(string A, int start, int length)

It returns the substring of A starting from start position with the given length.

string

upper(string A)

It returns the string resulting from converting all characters of A to upper case.

 

 

 

string

ucase(string A)

Same as above.

string

lower(string A)

It returns the string resulting from converting all characters of B to lower case.

string

lcase(string A)

Same as above.

string

trim(string A)

It returns the string resulting from trimming spaces from both ends of A.

string

ltrim(string A)

It returns the string resulting from trimming spaces from the beginning (left hand side) of A.

string

rtrim(string A)

rtrim(string A) It returns the string resulting from trimming spaces from the end (right hand side) of A.

string

regexp_replace(string A, string B, string C)

It returns the string resulting from replacing all substrings in B that match the Java regular expression syntax with C.

int

size(Map<K.V>)

It returns the number of elements in the map type.

int

size(Array<T>)

It returns the number of elements in the array type.

value of <type>

cast(<expr> as <type>)

It converts the results of the expression expr to <type> e.g. cast('1' as BIGINT) converts the string '1' to it integral representation. A NULL is returned if the conversion does not succeed.

string

from_unixtime(int unixtime)

convert the number of seconds from Unix epoch (1970-01-01 00:00:00 UTC) to a string representing the timestamp of that moment in the current system time zone in the format of "1970-01-01 00:00:00"

string

to_date(string timestamp)

It returns the date part of a timestamp string: to_date("1970-01-01 00:00:00") = "1970-01-01"

int

year(string date)

It returns the year part of a date or a timestamp string: year("1970-01-01 00:00:00") = 1970, year("1970-01-01") = 1970

int

month(string date)

It returns the month part of a date or a timestamp string: month("1970-11-01 00:00:00") = 11, month("1970-11-01") = 11

int

day(string date)

It returns the day part of a date or a timestamp string: day("1970-11-01 00:00:00") = 1, day("1970-11-01") = 1

string

get_json_object(string json_string, string path)

It extracts json object from a json string based on json path specified, and returns json string of the extracted json object. It returns NULL if the input json string is invalid.


 

Example

round() function

hive> SELECT round(2.6)from temp;

3.0

 

floor() function

hive> SELECT floor(2.6)from temp;

2.0

 

ceil() function

hive> SELECT ceil(2.6)from temp;

3.0

 

집계함수

Return Type

Signature

Description

BIGINT

count(*), count(expr),

count(*) - Returns the total number of retrieved rows.

DOUBLE

sum(col), sum(DISTINCT col)

It returns the sum of the elements in the group or the sum of the distinct values of the column in the group.

DOUBLE

avg(col), avg(DISTINCT col)

It returns the average of the elements in the group or the average of the distinct values of the column in the group.

DOUBLE

min(col)

It returns the minimum value of the column in the group.

DOUBLE

max(col)

It returns the maximum value of the column in the group.

 

 

 


'Hadoop ecosystem > Hive' 카테고리의 다른 글

Hive - View / Index  (0) 2017.05.04
Hive - Drop  (0) 2017.05.04
Hive - Create  (0) 2017.05.04
Hive - Data Type  (0) 2017.05.04
Hive / Pig / Spark  (0) 2017.05.04

+ Recent posts