我正在尝试使用SSIS将数据从单个文件(具有百万+记录)加载到SQL Server上的多个表中,同时保持文件中定义的关系.
为了更好地举例说明,我们假设我正在尝试加载一个包含员工姓名的文件,他们过去占用的办公室以及用标签分隔的职位名称历史.
文件:
EmployeeName<tab>OfficeHistory<tab>JobLevelHistory
John Smith<tab>501<tab>Engineer
John Smith<tab>601<tab>Senior Engineer
John Smith<tab>701<tab>Manager
Alex Button<tab>601<tab>Senior Assistant
Alex Button<tab>454<tab>Manager
Run Code Online (Sandbox Code Playgroud)
如果我的Office数据库架构具有以下表:
Employee (nId, name)
Office (nId, number)
JobTitle (nId, titleName)
Employee2Office (nEmpID, nOfficeId)
Employee2JobTitle (nEmpId, nJobTitleID)
Run Code Online (Sandbox Code Playgroud)
如何使用SSIS将文件加载到自动生成员工,Office和JobTitle的ID以及维护员工和办公室以及员工和职位标题之间的关系上的架构中?
所以在这种情况下.表格应如下所示:
Employee
1 John Smith
2 Alex Button
Office
1 501
2 601
3 701
4 454
JobTitle
1 Engineer
2 Senior Engineer
3 Manager
4 Senior Assistant
Employee2Office
1 1
1 2
1 3
2 2
2 4
Employee2JobTitle
1 1
1 2
1 3 …Run Code Online (Sandbox Code Playgroud) 如何在一个查询中查看给定SQL Server上所有数据库的所有磁盘使用情况.我的服务器上有大约15个不同的数据库,我想看看哪个数据库使用的是最大磁盘空间.
我知道我可以在SSMS中看到每个数据库的磁盘使用情况报告或登录到服务器并查看MDF/LDF文件的大小,但这似乎是一个非常明显的功能,应该与SSMS一起提供,我似乎无法找到它.
我试图使用以下代码将Spark RDD的内容保存到Redis
import redis
class RedisStorageAdapter(BaseStorageAdapter):
@staticmethod
def save(record):
###--- How do I get action_name ---- ###
redis_key = #<self.source_action_name>
redis_host=settings['REDIS']['HOST']
redis_port=settings['REDIS']['PORT']
redis_db=settings['REDIS']['DB']
redis_client = redis.StrictRedis(redis_host, redis_port, redis_db)
redis_client.sadd(redis_key, record)
def store_output(self, results_rdd):
print self.source_action_name
results_rdd.foreach(RedisStorageAdapter.save)
Run Code Online (Sandbox Code Playgroud)
但我想根据self.source_action_name初始化的内容(在BaseStorageAdapter中)使Redis Key不同
如何将source_action_name传递给RedisStorageAdapter.save函数?foreach函数只允许执行函数的名称而不允许参数列表
另外 - 如果有更好的方法将数据从RDD移动到Redis,请告诉我