【问题标题】:HIVE Arguments in PyAthenaJDBC (AWS athena)PyAthenaJDBC (AWS athena) 中的 HIVE 参数
【发布时间】:2017-08-06 02:13:46
【问题描述】:

我正在使用名为 PyAthenaJDBC 的 python 模块,以便使用提供的 JDBC 驱动程序查询 Athena。 这是链接:https://pypi.python.org/pypi/PyAthenaJDBC/

连接建立成功,查询也正常工作(显示数据库,显示表,选择...) 但是,每当我尝试使用 Hive 参数(例如“ROW FORMAT SERDE..”)定义自定义表时,它就不再起作用了, 这是我的代码:

class PyAthenaLoader():
    def connecti(self):
        self.conn = pyathenajdbc.connect(
                                         access_key=access_key_id,
                                         secret_key=secret_key_id,
                                         region_name = "us-west-2",
                                         s3_staging_dir="s3://aws-athena-query-results-332333536009-us-west-2")
    def create(self):
        try:
            with self.conn.cursor() as cursor:
                cursor.execute(
                              """CREATE EXTERNAL TABLE IF NOT EXISTS sales4 (
                              Day_ID int, 
                              Product_Id string,
                              Store_Id string, 
                              Sales_Units int,
                              Sales_Cost float, 
                              Currency string
                              ) 
                              ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
                              WITH SERDEPROPERTIES (
                              'serialization.format' = '|',
                              'field.delim' = '|',
                              'collection.delimm = 'undefined',
                              'mapkey.delim' = 'undefined'
                              ) LOCATION 's3://athena/';
                              """)

错误:第 1:8 行:输入“CREATE EXTERNAL”没有可行的替代方案 (服务:AmazonAthena;状态代码:400;错误代码: 无效请求异常;请求编号: 0cca6f3e-fe9e-11e6-be4f-a3b28f284a77)

PS:同样的查询在控制台管理中工作得很好! 有什么帮助吗?

【问题讨论】:

    标签: python amazon-web-services jdbc hive amazon-athena


    【解决方案1】:

    您的查询格式不正确。

    这是由于这一行:

    'collection.delimm = 'undefined',
    

    delimm 之后缺少一个右引号。

    【讨论】:

      猜你喜欢
      • 2017-08-17
      • 1970-01-01
      • 2017-08-10
      • 2017-11-23
      • 2018-07-25
      • 1970-01-01
      • 2019-09-24
      • 2017-09-10
      • 2018-06-25
      相关资源
      最近更新 更多