반응형

xz library가 없어서 그렇다고 한다

brew install xz

uninstall 후 다시 install

raceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/halyang/.pyenv/versions/3.9.19/lib/python3.9/lzma.py", line 27, in <module>
    from _lzma import *
ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.9.19 to /Users/halyang/.pyenv/versions/3.9.19
➜ ~ brew install xz
➜ ~ pyenv uninstall 3.9.19
pyenv: 3.9.19 uninstalled
➜ ~ pyenv install 3.9
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.9.19.tar.xz...
-> https://www.python.org/ftp/python/3.9.19/Python-3.9.19.tar.xz
Installing Python-3.9.19...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

 

https://gist.github.com/iandanforth/f3ac42b0963bcbfdf56bb446e9f40a33

 

ModuleNotFoundError: No module named '_lzma'

ModuleNotFoundError: No module named '_lzma'. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

반응형
반응형

mac m2에서 hadoop edge 환경 image docker run 후 hdfs 실행 시 발생

 

- base image: rockylinux:8.9

- 설치 : wget, python, sudo, ansible

 

해결 방법: FROM에 platform 추가

FROM --platform=linux/amd64 rockylinux:8.9

 

 

x86_64 architecture에서 compile된 app을 arm64 base의 image에서 수행시키려고 해서 에러가 발생

 

사족.

처음에 alpine으로 시도하였는데, alpine은 platform 옵션을 줘도 동일 에러가 발생했다.

추가 라이브러리를 설치해야 할 것으로 보이며 alpine image에 git이 포함되기는 했으나 image 파일이 50mb정도밖에 차이가 안나서 그냥 rocky나 ubuntu 쓰는 것이 정신적으로 이로울 것 같다.

 

 

 

출처 : https://stackoverflow.com/questions/71040681/qemu-x86-64-could-not-open-lib64-ld-linux-x86-64-so-2-no-such-file-or-direc

 

qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

I have a Rancher Deskop(dockerd) on M1 MacOS and when I am trying to build below dockerfile I am getting an error such as below. Here is the command how I am trying to build the image docker build ...

stackoverflow.com

 

 

반응형

'Ecosystem > docker, k8s' 카테고리의 다른 글

local k8s 테스트 환경 구축 - kind, k9s  (0) 2024.01.24
반응형

kind 설치

brew install kind

 

kind-config.yaml을 아래 내용으로 작성한다

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker

 

cluster 생성

kind create cluster --config kind-config.yaml

# 이미 있는 경우는 삭제 후 생성
kind delete cluster

 

context 생성 확인

kubectl config get-contexts

CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kind-kind                     kind-kind    kind-kind

 

참고: https://kind.sigs.k8s.io/?ref=blog.joe-brothers.com

 

k9s - k8s 관리 tool 설치

brew install k9s

 

반응형
반응형

jdk8로 maven build를 해야해서 설치를 했는데

export로 JAVA_HOME을 교체해도 15 그대로

bashrc에 넣어주고 터미널 재시작해도 15 그대로..

하지만 $JAVA_HOME은 1.8으로 바뀌었고, $JAVA_HOME/bin/java -version 하면 1.8이고

➜  target git:(master) ✗ java -version
openjdk version "15.0.1" 2020-10-20
OpenJDK Runtime Environment (build 15.0.1+9)
OpenJDK 64-Bit Server VM (build 15.0.1+9, mixed mode, sharing)

➜  target git:(master) ✗ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

/usr/opt 아래의 java를 삭제하였음

삭제 후 java -version 확인 : 11이 되었음

ls -al /usr/local/opt/openjdk/bin/java
sudo rm -rf /usr/local/opt/openjdk

➜  Cellar java -version
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.4+11)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.4+11, mixed mode)

8로 교체

➜  ~ export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
➜  ~ java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.292-b10, mixed mode)
반응형
반응형

airflow를 설치하다보면 자주 등장한다..

 

debian계열(apt) : apt 업데이트 후 libsasl2-dev, gcc, g++ 설치

apt-get update
apt-get install -y --no-install-recommends libsasl2-dev gcc g++

redhat계열(yum) : cyrus-sasl-devel 설치

sudo yum install cyrus-sasl-devel

 

반응형
반응형

bigquery는 nvl이 없음(정확하게는 구버전은 있고 일반적으로 사용하는 신버전은 없다)

 

대체 가능 함수

1. IFNULL

    select IFNULL(null, '0');

!! NULLIF와 다름에 유의할 것(NULLIF는 첫번째 expr와 두번째 expr가 같을 경우 null을 반환하고, 아닐 경우 첫번째 expr를 반환)

 

2. COALESCE

    select COALESCE(null, '0');

 

이걸 적어두는 이유는.. ifnull에다 nullif 써놓고 왜 계속 null이 찍히나 ..한참 시간을.. ㅠ

반응형

'Ecosystem > bigquery' 카테고리의 다른 글

No matching signature for function IF for argument types  (0) 2019.12.16
반응형

Bigquery Error

No matching signature for function IF for argument types

: if 사용하여 항목 선택하고자 할 때, 항목별 data type을 엄격하게 체크하기 때문에 발생

 

select if(bigtt <> '', ‘널체크불가능', ‘널체크가능') as ttt
from ( select null as bigtt ) aa

No matching signature for operator != for argument types: INT64, STRING. Supported signatures: ANY != ANY at [2:11]

No matching signature for operator != for argument types: INT64, STRING. Supported signatures: ANY != ANY at [2:11]

각 세션에서 data type이 달라 에러가 발생한다.

 

-- 아래와 같이 하거나

select if(bigtt is not null, ‘널체크불가능', ‘널체크가능') as ttt
  from ( select null as bigtt ) aa


-- hive에서는 가능

select if(bigtt <> '', '널체크불가능', '널체크가능') as ttt
  from ( select null as bigtt ) aa

 

마찬가지로,

select count(distinct if(mid is not null, if(cnt > 0, uuid, null), 0)) as uuid_uv
from (
select '1029382' as mid, 10 as cnt, '21093823k1230912213' as uuid
union all
select '1029382' as mid, 12 as cnt, '21093823k1230912213' as uuid
     ) abc

No matching signature for function IF for argument types: BOOL, STRING, INT64. Supported signature: IF(BOOL, ANY, ANY) at [2:23]

 

hive에서는 동작하는 쿼리이지만 bigquery if 에서는 string과 null을 취사선택하도록 할 수 없다

 

그럼 어떻게?? CASE로 처리

select count(distinct CASE WHEN mid is not null THEN CASE WHEN cnt>0 THEN uuid END ELSE null END) as uuid_uv
from (
select '1029382' as mid, 10 as cnt, '21093823k1230912213' as uuid
union all
select '1029382' as mid, 12 as cnt, '21093823k1230912213' as uuid  
     ) abc

 

반응형

'Ecosystem > bigquery' 카테고리의 다른 글

bigquery nvl 대체  (0) 2020.11.08
반응형

기존의 SVN은 서버 크리티컬한 구조

깃은 Local Repository를 둠으로써 중앙 Repository의 부하를 분산

대세를 지나 필수가 되었지만 전 회사는 일부 개발자만 몰래 쓰고 있었음.. 난 그걸 감시하는 입장이었..-_-;;

 

<시작하기 위해선>

1. 기존 개발하고 있던 폴더를 저장소로 설정하던가

2. 특정 폴더를 깃 로컬 저장소로 지정하고 리모트 서버나 클라우드에 있는 소스를 클론(첫 pull)해옴

 

<로컬 저장소에서 벌어지는 일>

작업 디렉토리(Working Directory)에서 작업 후 Stage에 add, 그 다음엔 자신있게 commit

<로컬 <-> 중앙>

commit한 소스를 책임감있게 중앙으로 push

남이 push한 중앙 소스를 나에게 로컬 pull 때림

 

<브랜치(branch)운영 전략>

ㅇ 이건 내가 사용중인 개발자들에게 줏어들은 거임

1. 마스터 브랜치를 product 혹은 배포된 버전으로 놓고

마스터에서 프로젝트 혹은 개발할 기능 단위로 브랜치를 쪼개거나

2. 마스터에서 굵은 브랜치 하나 빼고(개발계 브런치 development) 거기서 세부 브런치로 쪼개거나

ㅇ 여튼 기준은 마스터를 운영과 동일하고 놓고 아에 분리 보존하면서 운영할건지

아니면 마스터를 개발(브랜치 머지 후 운영 배포)로 놓고 운영할건지 본인 기준(혹은 회사 기준)을 일정하게 지킬 것

 

<참고>

나는 깃 잘 모르겠었는데 아래 두 사이트가 그나마 많은 도움이 되었음. 1번은 길어서 보는 중.

 

0. 이 사이트부터 무조건 먼저 볼 것을 추천

https://rogerdudler.github.io/git-guide/index.ko.html

 

git - 간편 안내서 - 어렵지 않아요!

 

rogerdudler.github.io

1. https://git-scm.com/book/ko/v2

 

Git - Book

 

git-scm.com

 

반응형

'Ecosystem' 카테고리의 다른 글

[OS:Linux] awk split 후 if에서 정규식 사용  (0) 2019.05.22
macOS 에서 docker 사용하기  (0) 2019.05.13

+ Recent posts