DBeaverでSSHトンネル経由の接続をする場合、SSH秘密鍵はOpenSSH形式ではなくPEM形式にする必要がある。
例えば既にOpenSSH形式の秘密鍵 ~/.ssh/id_rsa
があるとき、それをPEM形式に変換したファイルを ~/.ssh/id_rsa.pem
に作成するには
cp ~/.ssh/id_rsa ~/.ssh/id_rsa.pem
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa.pem
とする。
# テーブルの存在判定 - Python ライブラリ google-cloud-bigquery の練習 | |
# | |
# 参考 | |
# https://googleapis.dev/python/bigquery/latest/index.html | |
# https://stackoverflow.com/a/48116346 | |
# 準備: | |
# GCPプロジェクトとBigQueryのデータセット・テーブルは用意しておく | |
# 環境変数 GOOGLE_APPLICATION_CREDENTIALS に サービスアカウント鍵ファイルへのパスを入れておく. | |
# 例: export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json |
# テーブルの存在判定 - Python ライブラリ google-cloud-bigquery の練習 | |
# | |
# 参考 | |
# https://googleapis.dev/python/bigquery/latest/index.html | |
# https://stackoverflow.com/a/48116346 | |
# 準備: | |
# GCPプロジェクトとBigQueryのデータセット・テーブルは用意しておく | |
# 環境変数 GOOGLE_APPLICATION_CREDENTIALS に サービスアカウント鍵ファイルへのパスを入れておく. | |
# 例: export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json |
version: "3.8" | |
services: | |
jupyter: | |
image: jupyter/minimal-notebook:latest | |
ports: | |
- "10000:8888" | |
volumes: | |
- ./work:/home/jovyan/work | |
command: | |
- start.sh |
DBeaverでSSHトンネル経由の接続をする場合、SSH秘密鍵はOpenSSH形式ではなくPEM形式にする必要がある。
例えば既にOpenSSH形式の秘密鍵 ~/.ssh/id_rsa
があるとき、それをPEM形式に変換したファイルを ~/.ssh/id_rsa.pem
に作成するには
cp ~/.ssh/id_rsa ~/.ssh/id_rsa.pem
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa.pem
とする。
-- | |
-- BigQuery クエリの例 - 日付でパーティショニングされたテーブルから毎月月末のデータのみ抽出する | |
-- | |
-- パーティショニングされたテーブルに対してクエリを実行するとき, | |
-- パーティショニングフィールドの値で絞り込むとデータ処理量を削減できる. | |
-- しかし, サブクエリを使って絞り込み条件を与えるとクエリのサイズ削減が効かない. | |
-- | |
-- 処理サイズを抑えながら毎月月末のデータだけを抽出するクエリの例を示す. | |
-- | |
-- ### データの準備 |
パーティショニングされたテーブルに対してクエリを実行するとき, パーティショニングフィールドの値で絞り込むとデータ処理量を削減できる. しかし, サブクエリや他のテーブルを使って絞り込み条件を与えるとクエリサイズ削減が効かない.
ドキュメント パーティション分割テーブルのクエリ | BigQuery | Google Cloud より引用
述部フィルタはテーブルの識別子に可能な限り近いところに記述してください。述部(内部クエリやサブクエリなど)を解決するために複数の段階でクエリの評価を行う必要がある複雑なクエリでは、クエリからパーティションがプルーニングされません。
<script type="text/x-mathjax-config"> | |
MathJax.Hub.Config({ | |
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]} | |
}); | |
</script> | |
<script type="text/javascript" async | |
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-MML-AM_CHTML"></script> |
# Mac OS に Python 3.8 をインストールして venv 環境を作成する例 | |
# Homebrew で Python 3.8 を取得 | |
brew install [email protected] | |
# $HOME/.venv/3.8 にPython 3.8 用の venv フォルダを作成 | |
# (プロジェクトごとにvenv環境を分離したい場合は, 別フォルダを作成する) | |
/usr/local/opt/[email protected]/bin/python3 -m venv $HOME/.venv/3.8 | |
# 用法 | |
# |
#' 年、月、日の整数値ベクトルから日付ベクトルを作成する | |
#' | |
#' @param y 年 | |
#' @param m 月 | |
#' @param d 日 | |
#' @return 日付ベクトル | |
#' @examples | |
#' y_m_d(2019, 10, 2:4) # => [1] "2019-10-02" "2019-10-03" "2019-10-04" | |
#' y_m_d(c(2019, 2020), c(1, 2), c(10, 20)) # => [1] "2019-01-10" "2020-02-20" | |
y_m_d <- function(y, m, d) { |
# Portainer Local CLI | |
# | |
# Docker Desktop for Mac & fish shellのローカル環境でPortainerを起動する関数 | |
# | |
function portainer | |
echo "Dockerの状態を確認します" | |
echo "> docker system info" | |
docker system info | |
if [ $status -ne 0 ] | |
echo "エラー: Dockerが起動していません. 終了します." |