将庞大的数据集从 SQL 服务器导入到 HDF5
Import huge data-set from SQL server to HDF5
我正在尝试将 8 列的约 1200 万条记录导入到 Python.Because 中,但我的笔记本电脑内存不足以满足此要求。现在我正在尝试将 SQL 数据导入 HDF5 文件格式。如果有人可以分享一段从 SQL 查询数据并将其保存为 HDF5 格式的代码,这将非常有帮助 chunks.I 我可以使用任何其他更易于使用的文件格式。
我计划进行一些基本的探索性分析,稍后可能会使用 pandas.
创建一些决策 trees/Liner 回归模型
import pyodbc
import numpy as np
import pandas as pd
con = pyodbc.connect('Trusted_Connection=yes',
driver = '{ODBC Driver 13 for SQL Server}',
server = 'SQL_ServerName')
df = pd.read_sql("select * from table_a",con,index_col=['Accountid'],chunksize=1000)
试试这个:
sql_reader = pd.read_sql("select * from table_a", con, chunksize=10**5)
hdf_fn = '/path/to/result.h5'
hdf_key = 'my_huge_df'
store = pd.HDFStore(hdf_fn)
cols_to_index = [<LIST OF COLUMNS THAT WE WANT TO INDEX in HDF5 FILE>]
for chunk in sql_reader:
store.append(hdf_key, chunk, data_columns=cols_to_index, index=False)
# index data columns in HDFStore
store.create_table_index(hdf_key, columns=cols_to_index, optlevel=9, kind='full')
store.close()
我正在尝试将 8 列的约 1200 万条记录导入到 Python.Because 中,但我的笔记本电脑内存不足以满足此要求。现在我正在尝试将 SQL 数据导入 HDF5 文件格式。如果有人可以分享一段从 SQL 查询数据并将其保存为 HDF5 格式的代码,这将非常有帮助 chunks.I 我可以使用任何其他更易于使用的文件格式。
我计划进行一些基本的探索性分析,稍后可能会使用 pandas.
创建一些决策 trees/Liner 回归模型import pyodbc
import numpy as np
import pandas as pd
con = pyodbc.connect('Trusted_Connection=yes',
driver = '{ODBC Driver 13 for SQL Server}',
server = 'SQL_ServerName')
df = pd.read_sql("select * from table_a",con,index_col=['Accountid'],chunksize=1000)
试试这个:
sql_reader = pd.read_sql("select * from table_a", con, chunksize=10**5)
hdf_fn = '/path/to/result.h5'
hdf_key = 'my_huge_df'
store = pd.HDFStore(hdf_fn)
cols_to_index = [<LIST OF COLUMNS THAT WE WANT TO INDEX in HDF5 FILE>]
for chunk in sql_reader:
store.append(hdf_key, chunk, data_columns=cols_to_index, index=False)
# index data columns in HDFStore
store.create_table_index(hdf_key, columns=cols_to_index, optlevel=9, kind='full')
store.close()