PygramETL查找提供了MemoryView错误

如何解决PygramETL查找提供了MemoryView错误

     import pymonetdb
     import pygrametl
     import psycopg2
     from pygrametl.tables import CachedDimension,BulkDimension,Dimension,FactTable
     from pygrametl.datasources import sqlSource

     ##Connection to PostGres
     connectionPostGres = psycopg2.connect(host="localhost",database="postgres",user="postgres",password="tekihcan")

     connection = pymonetdb.connect(username="monetdb",password="monetdb",hostname="localhost",database="demo")
     connectMonet = pygrametl.ConnectionWrapper(connection)

     date_dim = CachedDimension(name='date_dim',key='d_date_sk',attributes=[
    'd_date_id','d_date','d_month_seq','d_week_seq','d_quarter_seq','d_year','d_dow','d_moy','d_dom','d_qoy','d_fy_year','d_fy_quarter_seq','d_fy_week_seq','d_day_name','d_quarter_name','d_holiday','d_weekend','d_following_holiday','d_first_dom','d_last_dom','d_same_day_ly','d_same_day_lq','d_current_day','d_current_week','d_current_month','d_current_quarter','d_current_year'
    ],lookupatts = ['d_date_id'])

    Customer_address = CachedDimension(name = 'customer_address',key = 'ca_address_sk',attributes = [
     'ca_address_id','ca_street_number','ca_street_name','ca_street_type','ca_suite_number','ca_city','ca_county','ca_state','ca_zip','ca_country','ca_gmt_offset','ca_location_type'
    ],lookupatts = ['ca_address_id'])

    Customer = CachedDimension(name = 'customer',key = 'c_customer_sk',attributes = [
   'c_customer_id','c_current_cdemo_sk','c_current_hdemo_sk','c_current_addr_sk','c_first_shipto_date_sk','c_first_sales_date_sk','c_salutation','c_first_name','c_last_name','c_preferred_cust_flag','c_birth_day','c_birth_month','c_birth_year','c_birth_country','c_login','c_email_address','c_last_review_date_sk'
   ],lookupatts = ['c_customer_sk'] )

  def main():

  for row in resultsSource:
      date_dim.insert(row)
  connectMonet.commit()

  for row in Customer_address_source:
     Customer_address.insert(row)
  connectMonet.commit() 

  for row in Customer_source:
    if row['c_first_shipto_date_id'] in (None,' '):
        row['d_date_sk'] = ' '
    else:
        date_sk1 = memoryview(date_dim.lookup(row,{"d_date_id":"c_first_shipto_date_id"}))
        row['d_date_sk'] = date_sk1
    if row['c_first_sales_date_id'] in (None,' '):
        row['d_date_sk'] = ' '
    else:  
        date_sk2 = date_dim.lookup(row,{"d_date_id":"c_first_sales_date_id"})
        row['d_date_sk'] = date_sk2
        
    row['ca_address_sk'] = Customer_address.lookup(row,{"ca_address_id":"c_address_id"})
    
       Customer.insert(row)
    connectMonet.commit()

我遇到了与memoryview相关的错误-ProgrammingError:类型不支持作为“ date_sk1 = memoryview(date_dim.lookup(row,{“ d_date_id”:“ c_first_shipto_date_id”})行中的值)“

我了解不支持memoryview,但我无法理解的是如何禁用memoryview的使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?