sqoop import - 数据导入之间的作业失败(sqoop import - job failure between data import)
如果sqoop在大数据导入作业之间失败,会发生什么。 是否会在作业失败之前将一些数据保留在hdfs上?
what will happen incase sqoop fails between large data import job. Will it persist some of the data onto hdfs before the job failure occured ?
原文:
最满意答案
您可以将
Variant
转换array of string
,读取和写入数组,然后重新转换:var VariantArray: Variant; Count: Integer; ArrayOfStrings: array of string; I: Integer; begin { ... } VariantArray := Compr.HcScriptFileExtensions; { Cast to array } ArrayOfStrings := VariantArray; { Read the array } Count := GetArrayLength(ArrayOfStrings); Log(Format('Count = %d', [Count])); for I := 0 to Count - 1 do begin Log(Format('%d: %s', [I, ArrayOfStrings[I]])); end; { Modify the array (append element) } SetArrayLength(ArrayOfStrings, Count + 1); ArrayOfStrings[Count] := 'new string'; { Cast back to the variant } VariantArray := ArrayOfStrings; ... end;
仅适用于Inno Setup的Unicode版本。 可能是因为Unicode Inno安装程序是用Delphi 2009编译的,而不是Delphi 2和3 ,它可能有更好的Variant支持。 另请参阅从Ansi升级到Inno Setup的Unicode版本(任何缺点) 。
You can cast the
Variant
toarray of string
, read and write the array and then cast back:var VariantArray: Variant; Count: Integer; ArrayOfStrings: array of string; I: Integer; begin { ... } VariantArray := Compr.HcScriptFileExtensions; { Cast to array } ArrayOfStrings := VariantArray; { Read the array } Count := GetArrayLength(ArrayOfStrings); Log(Format('Count = %d', [Count])); for I := 0 to Count - 1 do begin Log(Format('%d: %s', [I, ArrayOfStrings[I]])); end; { Modify the array (append element) } SetArrayLength(ArrayOfStrings, Count + 1); ArrayOfStrings[Count] := 'new string'; { Cast back to the variant } VariantArray := ArrayOfStrings; ... end;
Works in Unicode version of Inno Setup only. Probably because the Unicode Inno Setup is compiled with Delphi 2009 instead of Delphi 2 and 3, which likely has better Variant support. See also Upgrading from Ansi to Unicode version of Inno Setup (any disadvantages).
相关问答
更多-
在linux系统中 启动配置网卡的界面用什么命令[2022-02-09]
setup -
服务器主机名在哪里? 如果你没有指定,密码应该发送到哪里,这怎么可能有用呢? WinHttpReq.Open('POST', 'https://www.example.com/website.php', false); 您按原样发送密码。 当您将Content-Type指定为application/x-www-form-urlencoded 。 此内容类型具有特定格式,必须至少包含参数名称。 PHP怎么知道该字段被命名为password ? WinHttpReq.Send('password=' + Pa ...
-
Inno Setup图像下载(Inno Setup image download)[2021-12-11]
我会编写一个从Internet下载文件的小型Win32程序,例如 program dwnld; uses SysUtils, Windows, WinInet; const PARAM_USER_AGENT = 1; PARAM_URL = 2; PARAM_FILE_NAME = 3; function DownloadFile(const UserAgent, URL, FileName: string): boolean; const BUF_SIZE = 4096; var ... -
Inno Setup中的TTreeView(TTreeView in Inno Setup)[2022-11-05]
没有确切的这样的组成部分。 我认为在Delphi中编写组件并在Inno Setup中将其用作插件(.dll文件)更容易(也更快)。 There is no exact such component. I think it is much easier (and faster) to write your component in Delphi and use it in Inno Setup as plug-in (.dll file). -
这是执行此操作的代码: var I,StartPos:Integer; MultiSzStr,Element:String; ... StartPos := 1; for I:= 1 to Length(MultiSzStr) do begin if MultiSzStr[I] = #0 then begin Element := Copy(MultiSzStr, StartPos, I - StartPos); { do something ...
-
使用ShouldSkipPage事件处理程序时,如果存在DefaultDrive常量路径,则可以使用以下脚本跳过目录选择页面: [Setup] AppName=My Program AppVersion=1.5 DefaultDirName={code:GetDefaultDir} [Code] const DefaultDrive = 'D:\'; AppFolder = 'Some Folder'; function GetDefaultDir(Param: string): string ...
-
不,你不能迭代[Files]部分。 但是您可以使用预处理器从一个文件列表生成[Files]部分和Pascal脚本。 你对目标并不十分具体,所以我只展示了一个粗略的概念。 ; Define array of files to work with #dim Files[2] #define Files[0] "MyProg.exe" #define Files[1] "MyProg.chm" #define I ; Iterate the file array, generating one entry i ...
-
Inno Setup目前没有64位无符号整数类型的直接类型。 从Inno Setup 5.5.3 Unicode开始引入Int64类型,但它是一个带符号的64位整数,而QWORD需要是一个无符号的64位整数。 There is no direct type available for 64-bit unsigned integer type in Inno Setup at this time. Starting from Inno Setup 5.5.3 Unicode the Int64 type wa ...
-
在这种情况下, #sub是唯一可行的。 行当前只能通过先前定义的#sub或#emit输出到转换,后者是一个语句,不能从表达式上下文中调用。 请注意,您可以在定义sub之前使用#define private i并在for循环之后使用#undef i来缓解“icky全局变量”的感觉。 已提出一个问题来加强ISPP; 你可以尝试在那里添加你的声音。 另外,我已经有一个脚本可以完成这种事情(通过#include d文件挂钩到CurStepChanged ); 它尚未准备好供公众使用,但我计划在第二天或第二天将其清理 ...
-
Inno Setup:遍历Variant类型的数组(来自OleObject)(Inno Setup: Iterate through array of type Variant (from OleObject))[2022-06-03]
您可以将Variant转换array of string ,读取和写入数组,然后重新转换: var VariantArray: Variant; Count: Integer; ArrayOfStrings: array of string; I: Integer; begin { ... } VariantArray := Compr.HcScriptFileExtensions; { Cast to array } ArrayOfStrings := VariantAr ...