小编Ben*_*enz的帖子

Pyathena 模式不存在

我需要处理存储桶中特定文件夹中特定流的一些数据S3。我想在 中执行此操作Python。经过一段时间的搜索,我找到了PyAthena我正在寻找的图书馆!

我安装的版本1.8.0PyAthena.

供您参考,我的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)

amazon-web-services amazon-iam pyathena

2
推荐指数
1
解决办法
5971
查看次数

将代码从Common Lisp转换为Scheme

我在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上尝试时得到的:

在此输入图像描述

lisp scheme common-lisp mit-scheme

1
推荐指数
1
解决办法
632
查看次数

Lisp中的"堆栈溢出(深层)"错误

我正在尝试创建一个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)

lisp common-lisp

1
推荐指数
1
解决办法
148
查看次数

如何优化我的递归Lisp函数

我试图创建一个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)

lisp optimization common-lisp

1
推荐指数
1
解决办法
143
查看次数