我需要处理存储桶中特定文件夹中特定流的一些数据S3。我想在 中执行此操作Python。经过一段时间的搜索,我找到了PyAthena我正在寻找的图书馆!
我安装的版本1.8.0是PyAthena.
供您参考,我的S3存储桶位于 区域Paris eu-west-3,我的Athena数据库位于 区域Francfort eu-central-1。
我使用了在文档PyAthena Doc中找到的以下代码:
from pyathena import connect
cursor = connect(aws_access_key_id='YOUR_ACCESS_KEY_ID',
aws_secret_access_key='YOUR_SECRET_ACCESS_KEY',
s3_staging_dir='s3://YOUR_S3_BUCKET/path/to/',
region_name='us-west-2').cursor()
cursor.execute("SELECT * FROM one_row")
print(cursor.description)
print(cursor.fetchall())
Run Code Online (Sandbox Code Playgroud)
我一开始不确定region_name该使用哪个,它应该是Paris存储S3桶所在的位置,还是数据库所在的Francfort位置Athena!
我尝试了这两种方法,并按照收到的错误消息进行操作,最终我使用了我的桶中的一个S3!但是我不断收到有关权限的错误Glue,例如:
pyathena.error.OperationalError: Insufficient permissions to execute the query. Error retrieving table : master in database : default due to …Run Code Online (Sandbox Code Playgroud) 我在Common Lisp中创建了一个程序,我也试图让它在Scheme中工作,但它不起作用.我是Scheme和MIT/GNU Scheme的新手.这是Common Lisp中的代码.它在Lispworks中运行良好:
(defun removeAdjc (L) (cond ((null L) L)
(t (cond ((equal (car L) (cadr L)) (removeAdjc (cdr L)))
(t (append (list (car L)) (removeAdjc (cdr L))))))))
Run Code Online (Sandbox Code Playgroud)
这是我用于Scheme的代码:
(define (removeAdjc L)
(if (null? L) L
(if (equal? (car L) (cadr L)) (removeAdjc (cdr L))
(append (list (car L)) (removeAdjc (cdr L)))
) ))
Run Code Online (Sandbox Code Playgroud)
这是我在MIT/GNU Scheme上尝试时得到的:
我正在尝试创建一个prime-factors返回数字素数的函数.为此,我创建了is-prime函数,prime-factors-helper这将对素数因子进行递归检查.
(defun is-prime (n &optional (d (- n 1)))
(if (/= n 1) (or (= d 1)
(and (/= (rem n d) 0)
(is-prime n (- d 1)))) ()))
(defun prime-factors-helper (x n)
(if (is-prime x) (list x)
(if (is-prime n)
(if (AND (= (mod x n) 0) (< n (/ x 2)))
(append (list n) (prime-factors-helper (/ x n) (+ 1 n)))
(prime-factors-helper x (+ 1 n)))
(prime-factors-helper x (+ 1 n)))))
(defun …Run Code Online (Sandbox Code Playgroud) 我试图创建一个prime-factors返回数字素数的函数。为此,我创建了is-prime函数,并将prime-factors-helper对主要因素进行递归检查。
(defun is-prime (n &optional (d (- n 1)))
(if (/= n 1) (or (= d 1)
(and (/= (rem n d) 0)
(is-prime n (- d 1)))) ()))
(defun prime-factors-helper (x n)
(if (is-prime x)
(list x)
(if (is-prime n)
(if (AND (= (mod x n) 0) (<= n (/ x 2)))
(cons n (prime-factors-helper (/ x n) n))
(prime-factors-helper x (+ 1 n)))
(prime-factors-helper x (+ 1 n)))))
(defun prime-factors (x)
(prime-factors-helper …Run Code Online (Sandbox Code Playgroud)