1. Azure Databricks CLI 설치하기

이미지
Azure Databricks CLI 설치하기  개요 Databricks는 사용자가 쉽게 접근할 수 있도록 Interface Platform을 제공하고 있습니다. Workspace API, Cluster API, DBFS API, Groups API, Jobs API, Libraries API와 Secrets API를 통해서 Databricks에 설정을 유연하게 Config나 작업을 할 수 있습니다~ 저는 Windows에 Anaconda 가상 환경에서 진행했구요 Python version은 3.7입니다! Requirements Python 3 -3.6 and Above  Python 2 -2.7.9 and Above 설치 과정 1. Module Install pip으로 모듈을 받습니다.  >pip install databricks-cli ----------------------CMD--------------------------------- (mingdi) C:\Users\박민지>pip install databricks-cli Collecting databricks-cli   Downloading https://files.pythonhosted.org/packages/5f/38/f83bc71c5e7351a03e8d44aaf04647d076bbf8f097e3f93b921704b7a74c/databricks_cli-0.8.7-py3-none-any.whl (82kB)      |████████████████████████████████| 92kB 226kB/s 2. A uthentication Set UP Databricks에 인증을 등록해야하는데요, 일단 Databricks로 들어갑니다. Databricks 포탈에 맨 오른쪽에 요렇게 사람모양 표시가 있는데 그걸 눌러 User...

Database Basic_SQL_DML_INSERT

  <DML : 데이터 조작어 > INSERT 문 * TCL : Transaction language. 1) commit : 변경된 것을 저장하겠다 . 2)rollback : 가장 최근에 변경했던 것을 되돌리겠다 . *insert : 테이블에 새 행을 추가하는 것 . 1) col 의 속성을 변경할 때는 modify alter table emp_new modify (hire_date default sysdate); select * from dept_new; select * from emp_new; 2) emp_new 라는 아무런 데이터 값이 없는 테이블에 employees 의 테이블에 있는 칼럼들을 추가하는것 -- -- 먼저 dept_new 의 칼럼들을 추가해야 가능하다 . insert into emp_new select employee_id, first_name, salary, hire_date, department_id from employees where department_id = 20; 3) departments 테이블의 department_id, department_name, location_id 가 가르키는 실제 도시인 locations 를 dept_new 의 테이블에 추가하기 . insert into dept_new select department_id, department_name, l.city from departments d, locations l where d.location_id = l.location_id; 4) emp_new 테이블에 각 col 마다 데이터를 넣어주기 -- * hire_date 는 defalt sysdate 를 해주었기 때문에 따로 값을 안넣어도 자동적으로 오늘날짜가올라온다 . insert into emp_new (empno, ename, salary, deptno) values(...

Database : Basic SQL_DDL_Table

<DDL – Table 생성 > ------ 테이블 생성하기 - create + 제약조건 사용하기 ------------- create table dept_new ( deptno number(4) constraint deptno_pk primary key, -- deptno col 의 유형은 숫자이며 길이는 4 이며 제약조건은 primary key 이다 . dname varchar2(30) not null, loc varchar2(30) ); select * from dept_new; ------ 테이블 생성하기 - create + 제약조건 사용하기 ------------- create table emp_new ( empno number(4), ename varchar2(30) not null, salary number(10) not null, hire_date date not null, deptno number(4) , constraint empno_pk primary key(empno), constraint salary_ck check (salary >= 500), constraint deptno_fk foreign key(deptno) references dept_new(deptno) );                 ----- 서브쿼리를 이용해서 테이블 만들기 ------------ create table emp_dept80 as select employee_id, last_name, sala...

Database : Basic SQL_집합연산자_union,interset,minus

< 집합연산자 - union, interset, minus > 1. 합집합 union 사용하기 1) union의 사용 : 110건 union은 중복을 제거한 합집합입니다. 쓰이는 col과 동일한 형태이어야 합니다. 사원이 과거에 가졌던 근무와 현재 근무지가 중복되는 데이터들이 있다 하지만..! 중요한 것은 employee_id와 job_id가 중복되는 경우를 없애고 보여주기 때문에 union이 저절로 '정렬작업'을 해준다는 것입니다. select * from job_history; select employee_id, job_id from   employees union  select employee_id, job_id from   job_history; 2) union이 아닌 join의 사용 :  join문장으로서 중복되는 값만 보여줍니다. 과거에 job_history가 있는 사원들을 출력하는 것이다. 즉, 과거에 직업이 바뀐 사원들을 나올 수 있습니다. select e.employee_id, j.job_id from   employees e, job_history j where e.employee_id = j.employee_id; 2. union all 사용하기  1) union all : 117건 union all은 중복을 제거하지 않는 합집합입니다. ex) 176번의 사원은 sa_rep가 2번이나 출력됩니다. select employee_id, job_id from   employees union all  select employee_id, job_id from   job_history order by 1, 2; 3.교집합  interset 사용하기 1) interset : 과거에 근무했던 직업과 현재 근무하고 있는 직업이 같은 사람. ...

Database : Basic SQL_Subquery & Join_QUIZ(2)

이미지
Subquery & Join_QUIZ 1. 모든 사원의 평균급여보다 많은 급여를 받고 성(last_name)에 'u'가 포함된 사원과 같은 부서에 근무하는 모든 사원의 사원 번호(employee_id)와 성, 급여를 표시하는 쿼리를 작성합니다. 풀이 (1)모든 사원의 평균급여보다 많은 급여를 받고 / 성(last_name)에 (2)'u'가 포함된 사원과 같은 부서에 근무하는 모든 사원의 사원 번호(employee_id)와 성, 급여를 표시하는 쿼리를 작성합니다. select avg(salary) from employees; (2) select department_id from employees where last_name like '%u%'; 정답 - 1과 2를 사용한 정답 쿼리문장) select employee_id, last_name, salary from   employees where  salary > (select avg(salary) from employees) and    department_id in(select department_id                                      from employees                             ...

Database : Basic SQL문_퀴즈(1)

QUIZ 1. 각 직무 유형 (job_id) 에 대해 최소 , 최대 , 합계 및 평균 급여를 표시하도록 쿼리를 작성합니다 . 정답) select job_id, max(salary), min(salary), sum(salary), avg(salary) from employees group by job_id order by job_id; * jobid 의 경우는 개별행이기 때문에 그룹행으로 묶어주어야 합니다 .--      2. 사원의 총 수와 2002 년 , 2003 년 , 2004 년 및 2005 년에 채용 사원의 수를 표시하는 쿼리를 작성합니다 . 적절한 열 머리글을 지정하십시오 . 정답) select count(*) AS " 총 사원 수 ", sum(decode(to_char(hire_date,'yyyy'), '2002', 1, 0)) "2002 년 ", sum(decode(to_char(hire_date,'yyyy'), '2003', 1, 0)) "2003 년 ", sum(decode(to_char(hire_date,'yyyy'), '2004', 1, 0)) "2004 년 ", sum(decode(to_char(hire_date,'yyyy'), '2005', 1, 0)) "2005 년 " from employees;   * decode ( 조건부 표현식 -where 같은 기능을 보입니다. ). * count 보다는 sum 함수를 더 많이 사용합니다 . * 2001 년도와 같으면 1 이며 그 1 을 더해라 . 즉 2001 년에 입사한 사람 수를 알 수 있습니 다. *  to_char( 입사 일자 , 연...

Database : Basic SQL문_GROUP BY

<GROUP BY 절 사용해보기 > 1. GROUP BY 사용 : 부서별로 평균 급여 구하기   SELECT department_id, avg(salary) from employees group by department_id order by department_id; -- 현업에서는 group by 의 데이터를 그대로 order by 에 넣어 나타냅니다 .     2. having 절 배우기 : 평균 급여가 최소한 7000 이상인 급여를 구하기 - 그룹핑은 WHERE 이 대신 HAVING 이라는 조건문을 사용합니다 . -where 조건에는 절대로 그룹핑 함수를 들어갈 수 없습니다 . -where avg(salary) > 7000 (X)   select department_id, avg(salary) from employees group by department_id having avg(salary) >= 7000 order by department_id;     3. MAX 함수 : 최고 평균 급여를 구하기 SELECT MAX(AVG(SALARY)) FROM employees GROUP BY department_id;